Why do we need 170 developers

image



Hello, Habr! My name is Andrey Evsyukov, I am the Deputy CTO at Delivery Club. Our company is more complicated than it might seem when you imagine a food delivery service. Even when you roughly know what might be under the hood.



In this series of articles, I will tell you about how everything works for us, from how the Delivery Club IT system works in general and how new features are created, to team building, the process of hiring employees and interviews. And most importantly, why we have chosen exactly this architecture, why the processes are built in this way and what kind of specialists we are looking for on the market.



In each of the articles I will describe in detail how we work at DC Tech. Moreover, each of these articles will be a logical consequence of how the FoodTech market in Russia is arranged and what restrictions it imposes. First of all, the market influences the culture of the company, and therefore the engineering culture. The peculiarities of culture dictate to us the decisions we have come to. Let's talk about these features. Go!



I'll start with an article about the peculiarities of the foodtech industry, which directly affect the way everything is organized within Delivery Club. And in the process I will try to explain why we have 170 developers and why it cannot just be outsource.



Features of FoodTech in Russia and differences from classic e-commerce



By classic e-com I mean commerce at the intersection of online and offline. There is always a website or a mobile application where an order is made, automation systems, for example, a warehouse, and there is an offline part - operational activities, in the overwhelming majority of cases it is the last mile delivery. In addition, there are monitoring systems to monitor the effectiveness of all online and offline processes.



Food delivery is very different from most other deliveries



Let's consider the delivery of office supplies, books or clothes: the order is formed, assembled in a box, lies in the warehouse. Itinerary is automatically generated, even if it is the same day delivery - it does not happen instantly. The courier picks up the orders and delivers them according to the list: to one client, to another - everything in order. Everything is known in advance. If there is a delay in a small time range, this is not so critical - all goods will remain intact, the client is usually ready to wait a little. And if the range is even one hour, then the exact delivery time is not known for certain.



Not so with food.



  • We must control the time! When the user places an order, he is hungry. He cannot wait. The food should be hot, every minute counts.
  • It is impossible to create a route sheet. Delivery Club has only 2% of pre-orders. Otherwise, no one orders food in advance - it always happens on demand.



  • The courier process is dynamic. The situation changes every 5-15 minutes. When it starts to rain or snow, demand always rises. And when it's sunny outside and you don't want to stay at home, demand decreases. On holidays and weekends, the demand profile differs from weekdays. The traffic situation and traffic jams also make their own adjustments, especially in those areas where auto / motorcycle couriers prevail.


Let's take another look at the market situation:



  1. . . , Delivery Club 10 . 2009 2016 . 2016- . , , Takeaway - (). , .
  2. . . 40 , . FoodTech โ€” , , !
  3. . : 2018 4 , 2019- โ€” 3 , 2020- 1 !
  4. , . . . , , . .


-



Of course, we look at the experience of companies in those markets where foodtech is more developed - in Europe, Southeast Asia, India. But this experience cannot be used as is, since they have a different geography and topology, conditions, purchasing power. We have the largest country in the world in terms of area, organizing logistics here is a unique task. The infrastructure of our cities is also different: another division into auto / moto / foot delivery, a different density of location of restaurants (many shopping centers and individual small cafes).



The work of couriers on bicycles in Europe is a widespread practice, and we do not have infrastructure or bike paths for the widespread introduction of bicycles. Therefore, the majority of couriers in Russia are pedestrians. There is also a difference in weather conditions. There is no winter like ours, for example, in Southeast Asia. All these factors impose their own limitations.



Another example: we planned to make an analogue of a heat demand map, like in a taxi. But drivers often move between areas, as they are used to. And the situation with foot couriers is different: the courier chooses his zone himself, he is familiar with it, he is free to navigate in it.



How do we deal with it



Route sheets are replaced by demand forecasting. We know the weather, the day of the week, the month, we make up the delivery and shift zones. For communication with couriers, we have made a mobile application RiderApp.



To monitor the situation, we have built systems that track changes in real time. For example, when the weather changes - it started raining and the demand increased - we will immediately see it on the monitoring, the inputs will change, and our system can make adjustments to the parameters of the algorithms. But more predictable changes have already been wired into the operation of such systems. For example, morning, afternoon and evening hours have different demand profiles. All this is also adapted to different time zones. Denis Gorev told about this in detail in the report "Auto-assignment of couriers in Delivery Club" and Nikolay Arkhipov in the reportโ€œHow we overcome uncertainty at Delivery Clubโ€ .



When developing new functionality, we use hypotheses. We assess how changes in the product will affect the user, conduct research, and support these results with the analytical data that we already have. We divide the development into stages in order to understand where it can be done easier and release the MVP faster. This is especially true when entering new market verticals. To put it all together, we have implemented a separate process for constructing and testing hypotheses. I will tell you about this in detail in a separate article "GIST - a framework for verifying hypotheses in Delivery Club".



We divided the team structures by product lines and carried out product transformation. All our teams are responsible for their product or value stream within a single product. The Product Manager defines the product change strategy. This allows, firstly, teams to more clearly focus on the task at hand and achieve results within the expected time frame. Second, it allows developers to better understand end users and get involved.



The transformation itself began at the end of 2018, and the new development process took root at the beginning of 2019. We have been actively recruiting since mid-2019. During this time, we have grown 4 times, which is +120 people. Therefore, I would say that the transformation process continues to this day. I will talk about it in a separate article.



For ten years Delivery Club has become a leader in food delivery in Russia with a presence in more than 150 cities, 22 thousand partner restaurants and more than 5.5 million orders per month. In order to quickly respond to all changes, the rate of growth in the number of orders and new challenges, and at the same time remain leaders, we must understand our audience, be flexible and adaptive, be result-oriented and build such processes inside that would help achieve these goals. All this is reflected in our culture.



Features of the Delivery Club Tech culture



Let's summarize what are the features of the modern FoodTech market in Russia :



  • Experience cannot always be copied.
  • New verticals are emerging, the market is changing rapidly.
  • One of the fastest growing e-commerce segments.
  • Formation of new consumer habits.
  • You need to quickly respond to emerging user needs.


These features are the basis for the basic principles of our culture :







Engineering culture, in turn, is a subculture - a natural continuation of the company's culture. It reflects not only the principles of work, but also how we choose technologies, build architecture, hire people and build teams. Now I will focus on only one aspect: in-house development!



The speed of feature release and quality are important to us. I believe that this combination can only be achieved with the full involvement of employees in the process, domain and platform. When teams closely communicate with each other and with the business, they understand how they affect product development and how the release of a new feature affects the end user. At the same time, they delve into the intricacies of technical implementation so that when preparing the same MVP, when we make fairly quick decisions, they are also reliable.



I am convinced that this is only achievable when people are motivated, properly contextualized, and charged for results. This is where the power and importance of in-house development is fully manifested.



- But the application works fine, why do you need 170 people?



As I wrote above, e-com is like an iceberg, only a small upper part is always visible from the side. All operational activities, which are mainly concentrated offline, are hidden from the eyes of the average user.



Delivery Club business is based on four most important vectors:



  1. A customer who buys food.
  2. Deliveryman.
  3. Partner (restaurant / store).
  4. Technical support: call center and dispatchers who control the process.


All these vectors require monitoring, control and automation systems. And although all this activity is hidden from the eyes of an outside observer, this does not negate its significance.



Last year, we formed two more areas: R&D and Platform. The R&D direction solves science-intensive tasks, works with an area of โ€‹โ€‹low certainty, which is now mainly concentrated around logistics tasks. The guys, together with the Operations Department, optimize business processes and automate manual and routine actions.



The Platform team is engaged in technological improvements of the platform, changing the architecture so that we can cope with the increasing number of orders and loads. The growth of orders is so rapid that we have grown as much as three times compared to the previous year. Now imagine how important it is to rethink the architecture in stages to cope with the ever-increasing workloads.



In the spring of this year, we started introducing Machine Learning systems to intelligently personalize search results, and we plan to use the same systems to assess the status of orders relative to the plan, automatically connecting tools for correction if necessary.



conclusions



The market is changing rapidly, so it is important to adapt processes and technologies to it just as quickly. Here's what we do:



  • we remain flexible and change with the market;
  • ;
  • , , , ;
  • , Time to Market.


For this, we chose the in-house development path. And all the peculiarities of the FoodTech market were reflected in their principles of engineering culture. By the way, here they are, take a look: tech.delivery-club.ru/culture .



The engineering culture, in turn, tells us which Soft Skills are important for the employees of the Delivery Club IT department. These qualities have become the backbone of our recruiting framework.



I said almost nothing about how the teams look from the inside. This will be discussed in the next article, which tells about how it all began, what stages of transformation we went through, how things are right now and what new challenges we have to face.



We will not miss the technical aspects either. I will devote a separate article to Platform and Architecture. We will also talk separately about Go-Swagger and Kafka Connect.



I hope I managed to immerse you in the context of the foodtech market and explain why Delivery Club has 170 developers.



Thanks for reading!



All Articles