Intelligence: from the life of a first-person programmer





What associations do you have when you mention the M.Video-Eldorado brand? IT, software development, Big Data and machine learning are probably not the first words that come to your mind. Nevertheless, its own development team has been living and actively writing code for almost two years now. In a small series of short interviews, we would like to literally show the bright faces of our software development, and at the same time share the results of their work. We hope you enjoy our stories. In the meantime, go boldly under the cat. Kirill Ivanov, Director of the Data Office of M.Video-Eldorado Group, has already been waiting for you there.



Do you remember how it all began?



image DOSSIER

Kirill Ivanov, Director of the Data Office of M.Video-Eldorado Group.

In 2004 he graduated from Moscow State University. Lomonosov, Faculty of Computational Mathematics and Cybernetics.



From 2004 to 2014, Kirill worked for leading Russian and international integrators and consulting companies - IBM, HP, EY, I-Teco and Inline Technologies. He was involved in strategic consulting projects for companies such as Russian Railways, Severstal, Russian Post, Gazpromneft.



In 2014, Kirill joined M.Video as a Chief Architect. Since 2017, he headed the Technology Office and was responsible for the IT part of the project for the merger of M.Video and Eldorado.



Since May 2019, Kirill has been the Director of the Big Data Office of the united company M.Video-Eldorado". In his new role, he is responsible for the development of data analytics and the implementation of artificial intelligence and machine learning algorithms.



โ”€ Hello! Can you tell us how you got inside M.Video-Eldorado?

โ”€ Nothing supernatural. After university, he worked in IT consulting for almost 10 years. He was engaged in digitalization of various businesses. At some point, I wanted to work in the industry, to do more applied things. This is how I came to M.Video as the chief architect of the company. Later he plunged into the topic of Data science, machine learning, Big Data.



โ”€ The company has a rapidly developing history with machine learning, video analytics, and heat mapping. Can you share the details? The first mentions of the implementation of such solutions by M.Video were back in 2013. What has changed since then?

โ”€ We have been dealing with this topic for the last two years. Earlier we tried various external designs. But each time it cost some cosmic money and did not give the business any tangible results. You take a ready-made solution from the market, multiply the cost by 1,000 stores and get an atomic budget. No obvious profit.



I can say that everything really got off the ground last year. Polina Polunina , who worked for us, agreed on an internship with the Higher School of Economics. There were 12 or 15 people there, second year students. The guys did their term papers on our base. Including four people took video analytics in stores as a theme for their work.



We made it harder for them by suggesting they build on existing infrastructure, including our existing video cameras - we wanted to understand what could be done on the existing infrastructure to reduce scaling costs. For its part, the company provided them with direct interaction with the business and created the necessary conditions for work.



In a few months, the four of us have made a really cool solution, which, firstly, took into account the specifics of our stores, secondly, it was created with the direct participation of retail employees, and thirdly, it was simple, convenient and reliable.







This approach made it possible to bring the final software solution closer to life, since it was initially based on real life needs. For example, the guys made a bot that promptly notifies sellers about single customers in the sales area and informs about queues at the checkout so that the director can bring additional people out.



But most importantly, the team worked out in detail the issue of rapid deployment of the video analytics system by the store employees: the process of setting up and calibrating cameras, marking out shopping areas. The guys made a story comparable to the commercial solutions with which companies come to us from the market, investing a lot of time and effort in this topic.



As a result, we took this team on the staff. Today it is an effective team with which our business is actively working. In general, it's great when you take junior developers or students, give them an interesting task, create an environment for work, and then they give a result that significantly exceeds your expectations.



- Still, why do you need video analytics?

โ”€ Our goal is utilitarian - to be closer to the client. For example, if you take any website or mobile application, then you can clearly track user activity there. Where a person "sticks", which sections he visits, which buttons he clicks and how much time he spends on all this. And if you take a store, then it's such a "black box", a blind spot.



You understand, conventionally, how many people entered the store, how many of them reached the checkout. And that's all. It is extremely difficult to really assess everything that happens there inside. It is unclear whether your promo is working or not, how effective is the display of this or that product, how correctly the trading islands and auction counters are placed, what your sellers are doing, where and how people go, and so on.



So, our task is to make the "stone shop" as transparent as it is online. This is exactly what modern solutions in the field of video analytics can achieve. And this fits perfectly into our common One Retail ideology, when online and retail are combined for the client.



It doesn't matter whether a person picks up a smartphone with our mobile application, opens the web version of an online store, or comes with his feet to a point of sale, for him at every point everything should be intuitive and accessible. We, in turn, having knowledge about our customer, must meet his needs as much as possible.



Anatomy of life



- How does the work of the Data office work in general?

โ”€ Now we are changing, together with the whole company. In the current version, the Data-office is five centers of competence and delivery managers who help to sell products.



There are two Data Science Competence Centers. The first is what we call "classic ML". They work with structured data. The products that this competence center is working on are recommendations and client analytics, assortment planning, and promotions.



DS's second competence center is speech technology and computer vision. It contains, conditionally, all work with unstructured data - text, speech, video, images.



The Analytics and Architecture Competence Center deals with architecture and data quality. They prepare showcases for analysts and data scientists, work on data quality.



There is a development competence center. All the developers who work with our products are gathered there. Conventionally, it can be divided into two parts. The first is directly ML-development, the production of code written by data scientists. Plus, these guys are also developing the infrastructure for machine learning. They develop and maintain all solutions for automation of ML-pipelines themselves.



Some solutions (pricing, promo, assortment planning), we develop end-to-end by the Data-office. It happened so historically. It turned out to be easier for us to hire a team inside ourselves than in the โ€œright placesโ€ within different IT departments. Thus, the second part of the development center includes front-end developers, back-end developers and designers specializing in these solutions.



The final center of excellence (in order, but not least) is Data Warehouse Development Engineers (ETL Engineers). These guys are engaged in analytical data warehouse - its infrastructure, data loading, monitoring this load, developing ETL tools.







โ”€ How is all this interconnected?

โ”€ Actually, product teams are formed from these people. There is a Product Owner who is in business. A team is formed directly for the tasks of the product, which usually includes data scientists, developers, data analysts and ETL engineers. Then the team works independently, develops the things the business needs. The task of the competence centers is to control the methodology, provide tools for work and rotate employees between products so that they grow, working on new tasks.



Also, we provide work with data analytics. For example, there is a mobile app product team. They need to do analytics, while working not only with their own data, but also with other company data - receipts, data from stores, logistics, and so on. We create a sandbox for them in the storage, teach how and with what to work there, give a description of the data so that it is clear where what data is located, what is the calculation logic.



- Is there a shortage of personnel? And who do you need the most?

โ”€ Yes, of course, there is a deficit, and I think all companies on the market face it. Now we are hiring almost all the above-mentioned specialists "evenly" . The challenges within the company are ambitious, and this is reflected in the hiring plans - in total, we want to almost double.



The most scarce roles for us are analysts and data architects, there are very few of them on the market and we need them in every product. We also need developers in different directions and with different qualifications: "pythonists", front-end and back-end developers, data engineers.



A full list of vacancies is available on the website: here or here . It describes in some detail who we need and for what tasks.



By the way, I almost forgot, we really need delivery managers. We are looking for people who, within the product teams, are responsible for the development and delivery of the solution. They are especially in demand on large products that are critical for business and strongly change the entire IT landscape.



For example, "pricing" or "promo". Here, the resources of the product specialist to manage the team may simply not be enough. Therefore, he focuses more on the business component, while the delivery manager focuses on team management and product delivery.



For the role of delivery, we are looking for people who, on the one hand, understand in development, integration, delivery to the product and, ideally, in Data science, and on the other hand, they understand the business, can build interaction with the product engineer and other teams on which they depend.







If we talk about creating products that use machine learning, they have their own specifics that the delivery manager will need to understand well. For example, if you need to program a button, then you write a technical assignment, it is evaluated, executed, tested and submitted to production. And after that, you have a button that works (or doesn't work) in a certain way.



In the case of machine learning, you always need to keep in mind that any development is, in fact, R&D. For example, there is a task: "let's improve the model for filling with promotional goods ...". Let's, of course, just keep in mind that you have a lot of experiments ahead of you and an unobvious ending.



Moreover, if you don't follow the models that are in production, they can degrade or stop working altogether. That is, in the case of machine learning, a large piece of uncertainty arises in the product, which must be well understood and managed by the delivery manager ...



Tell me who your friend is and I will tell ...



โ”€ For what competencies do you hire people to join the team?

โ”€ I donโ€™t think Iโ€™ll be very original here. There are hard skills that include basic professional skills, knowledge and experience. And there are soft skills that will definitely come in handy when working at M.Video-Eldorado.



We look at two things: First, we pay attention to the person's motivation. For example, when you come to a large company with the letter "I", "M", "S" or "G", you find yourself in a structured environment. You are given a task, and you work on it calmly. We are looking for people who are able to structure and create this working environment together with us.



It is important for us that a person does not just come to work on tasks, but be able to express his point of view, be able to explain what he wants, say what he needs in order to do his job better, and, in general, what new things we can do ...



We, conditionally, do not sell the legend "You will come and you will have everything ready." On the contrary, we say: โ€œBe prepared for the fact that you will come to us and nothing is ready for you. But this is a great opportunity to do what is most convenient for you. "



Thus, on the one hand, you should be quite independent, and on the other, not be afraid to share knowledge with other team members, to enter into all kinds of collaborations with them.



And you should also be inspired by the fact that you change the space around you and make your life and the life of other people better.







โ”€ Let's pretend that this interview is being read by your potential employee. Why would he come to you for an interview?

โ”€To self-actualize in work, learn something new, test your ideas in work. Maybe it sounds pathetic, but now we have a huge space for independent work and freedom in making a variety of decisions. Our team not only makes large-scale projects, but also sees the results of their work here and now. So you will definitely have the opportunity to leave your mark on the history of the company and the market!



Welcome aboard!



All Articles