We continue to tell you about the life and key projects of the guys from our internal development team. Let us remind you that in the near future we have to find 600 more talented and ambitious programmers .
If you suddenly missed the beginning of the series "From the life of a programmer of the Group" M.Video-Eldorado ": a look from the inside", then follow the link, you can touch the origins . In the meantime, under the cut with a story in the first person, Evgeny Vorobei, head of development, Data Office of M.Video-Eldorado Group, has already been waiting for you.
My way
I joined the development team about two years ago ─ at that time the Data Office consisted of three people and existed as a department formed a few months earlier.
In fact, I went for an interview at M.Video-Eldorado, already having in my hands an offer from a company with the letter “I”. I went to an interview with the aim, rather, to troll retailers who imagined themselves to be an IT company, rather than actually get a job. I remember how surprised I was after the first communication with the people who interviewed me. I was pleasantly impressed by their level of knowledge, ambitions and outlook. It turned out that these people know exactly what they want and, most importantly, understand how to achieve it.
Today I am responsible for the stability of our production systems and run a competence center for technical solutions for machine learning. I am in charge of projects from various directions, including AMS (assortment, price and promo management systems, i.e. internal pricing management tools), recommendation services, video analytics, chat bots and other automated platforms in the call center. We have a different department responsible for the website and mobile applications.
Now there are 70 people in my team, and I am truly proud of the department we created, our projects and especially our team.
How it works
The beginning of 2021 turned out to be somewhat turbulent due to active changes in the structure, and we came to this approach. There is M.Video and Eldorado and several other business functions, for example, logistics and finance, all of which have product design teams. For example, in "M.Video" and "Eldorado" product teams are engaged in the website and application, in finance - EDF , the formation and development of a data lake, and so on.
IT, as a function, is responsible for the implementation and technological support of this work, and of course, the maintenance and development of all systems. IT Competence Center ─ sources of technology specialists for product and project teams.
Digital transformation officeresponsible for focus on digitalization, product methodology and transparency in the implementation of strategic objectives.
The data office is a separate area that is part of the IT department. We have built workflows in such a way that there is R&D testing hypotheses (and doing it quickly) and there is a development office that implements proven and business-proven solutions that work stably in production.
Top technologies
Speaking about why a young, ambitious and talented specialist should come to our company , I note that we have excellent opportunities for professional growth, and we are also keeping pace with the times. The data office is less than two years old, so we do not have tons of accumulated legacy, no old, well-established practices.
We strive to use exclusively modern solutions (we prefer open-source) and the most common tools. Do you want to pump in new topical technologies? Come to us , we definitely have them.
We have virtualization only Kubernetes, containerization only docker, the operating system is only Linux and distributions (in fact, you can put whatever you want on your working laptop, the main thing is not to pirate ─ we buy the necessary software ourselves), PostgreSQL + redis + s3 databases, and so on. We take top technologies that are only available in terms of prevalence, avoiding marginal options ─ except for some internal decisions that are justified in specific situations.
Creativity and flexibility
For example, to manage data processing pipelines, we do not use popular frameworks like MLFlow, Airflow and others. We have written our own system for this. Yes, this is a bicycle, but it is fully justified. We knew perfectly well why we needed it and why we still hadn’t switched to anything else.
We also have other internal projects, usually small ones. For example, an extension for pandas (which allows great optimization of loading huge tables from the database into memory), a video converter for a proprietary Chinese video format (yes, through reverse engineering), or an extension for pdb, which allows you to debug a process via p2p (for example, inside a cluster without the need open port for instance).
We are not eager to reinvent the wheel, but we are not afraid to do something ourselves ─ if justified.
All you can
The processes can hardly be called ideal yet. All the same, the company is 30 years old, and it is an operating business. 1.2 trillion customer visits a year means that while you were reading this material, thousands of people went to the site, to the store, to the app, looked at something and ordered. Every day, 24 to 7.
There is visible progress in the bureaucracy. For example, it takes about half an hour, maximum up to a day, to agree on development resources and budgets inside the data office. We switched to the EDF system with great success .
Of course, at the Group level, all this can take much longer and more complicated, but for this, product teams were created within the business units. Now everyone has common tasks and an understanding of how to allocate resources.
There should be no illusion that everything in this world is perfect. Unfortunately no. You need to be prepared to solve problems as they arise. It just won't. But inside we are really interesting, and the cooler is to come and do it in a new way and see that thanks to you it works.
Who are happy
If we talk about developers, then to be honest, we need everything. The office plans to double the data.
Our main language is python (it is convenient to write with data-science specialists in the same language), but we divide specialists into separate areas:
- Classic backend developers (who are engaged in the implementation of loaded and not very api, and not necessarily http, and even more so not necessarily rest);
- Applied or general developers . They deal with other tasks - converting prototypes from data-science specialists into production projects, developing internal software solutions, optimizing algorithms;
- Data engineers - everything is like everyone else here, strong knowledge of sql, analytical tools and approaches.
In addition, we need :
- Front-end developers . Not for the company's website, but for the development of interfaces to our analytical tools (typescript, sccs, react)
- Devops engineers . We are not used to combining developers and devops, everyone should do what interests him;
- . ─ , . !
- ─ , ;
- \ \ ─ , , . — , ( );
- Delivery Manager is a must-have. We have many products and projects, we are actively developing and technically we can do even more - but we need people who will take on the development of specific projects and directions.
The most interesting is ahead. Come, it will be interesting .