为什么我们需要170个开发人员

图片



哈Ha!我叫Andrey Evsyukov,我是Delivery Club的副CTO。我们公司比您想象中的送餐服务要复杂得多。即使您大致了解幕后情况。



在本系列文章中,我将讨论一切如何为我们工作,Delivery Club IT系统的总体工作方式以及新功能的创建方式,以及团队建设,雇用员工和面试的过程。最重要的是,为什么我们要选择这种架构,为什么要这样构建流程,以及我们在市场上寻找什么样的专家。



在每篇文章中,我都会详细描述我们在DC Tech的工作方式。此外,每一篇文章都是俄罗斯食品技术市场如何运作以及施加哪些限制的合乎逻辑的结果。首先,市场会影响公司的文化,从而影响工程文化。文化的特殊性决定了我们做出的决定。让我们谈谈这些功能。走!



我将从一篇关于食品技术行业特性的文章开始,这直接影响了Delivery Club中所有事物的组织方式。在此过程中,我将尝试解释为什么我们有170个开发人员,以及为什么它不能仅仅外包。



俄罗斯FoodTech的功能与传统电子商务的区别



传统的电子商务是指在线和离线之间的交易。总会有一个网站或移动应用程序在其中下订单,自动化系统(例如仓库),还有一个离线部分-操作活动,在绝大多数情况下,这是最后一英里的交付。此外,还有监视系统来监视所有联机和脱机过程的有效性。



送餐与大多数其他送餐有很大不同



让我们考虑一下办公用品,书籍或衣服的交付情况:订单已形成,并装在盒子中,在仓库中。即使是当天发货,也会自动生成行程-它不会立即发生。快递员拿起订单,然后根据清单将它们交付:一个客户,另一个客户-一切都按顺序进行。一切都是事先知道的。如果在较小的时间范围内有延迟,则不是很关键-所有货物都将保持完好无损,客户通常准备稍等片刻。如果范围甚至是一小时,那么确切的交货时间还不确定。



食物不是这样。



  • 我们必须控制时间!用户下订单时,他很饿。他等不及了。食物应该是热的,每一分钟都很重要。
  • 无法创建路由表。Delivery Club只有2%的预订。否则,没有人会提前点菜-它总是按需供应。



  • 快递过程是动态的。情况每5-15分钟更改一次。开始下雨或下雪时,需求总是上升。当外面阳光明媚,而您又不想呆在家里时,需求就会减少。在节假日和周末,需求状况与工作日不同。交通情况和交通拥堵也可以自行调整,尤其是在汽车/摩托车快递员盛行的地区。


让我们再看一下市场情况:



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


-



当然,我们将考察在食品技术更发达的市场中的公司的经验-在欧洲,东南亚,印度。但是,这些经验不能按原样使用,因为它们的地理位置和拓扑,条件和购买力不同。就面积而言,我们拥有世界上最大的国家,在这里组织物流是一项独特的任务。我们城市的基础设施也有所不同:汽车/摩托/步行交付的另一种划分,餐厅(许多购物中心和单个小咖啡馆)的位置密度不同。



在欧洲,快递员在自行车上的工作是一种普遍的做法,我们没有用于广泛引入自行车的基础设施或自行车道。因此,俄罗斯的大多数快递员都是行人。天气条件也有所不同。例如,在东南亚,没有像我们这样的冬天。所有这些因素都有其自身的局限性。



另一个例子:我们计划模拟出租车的热量需求图。但是,驾驶员通常像往常一样在区域之间移动。而步行快递公司的情况则有所不同:快递员自己选择自己的区域,他对此很熟悉,他可以在其中自由导航。



我们如何处理



路线表被需求预测所取代。我们知道天气,星期几,月份,我们组成了交付和轮班区域。为了与快递员沟通,我们制作了一个移动应用程序RiderApp。



为了监视情况,我们建立了实时跟踪变化的系统。例如,当天气变化时(开始下雨,需求增加),我们将在监视中立即看到它,输入将发生变化,并且我们的系统可以对算法的参数进行调整。但是,已经将更多可预见的变化纳入此类系统的操作中。例如,早上,下午和晚上的时间有不同的需求状况。所有这些还适用于不同的时区。丹尼斯·戈列夫(Denis Gorev)在报告“交付俱乐部中的信使自动分配”中详细介绍了这一点,报告中的尼古拉·阿尔希波夫(Nikolay Arkhipov)“我们如何克服交付俱乐部的不确定性”



在开发新功能时,我们使用假设。我们评估产品的变化将如何影响用户,进行研究并以我们已有的分析数据来支持这些结果。我们将开发划分为多个阶段,以了解在哪里可以更轻松地完成开发并更快地发布MVP。进入新的垂直市场时尤其如此。总而言之,我们实施了一个单独的过程来构建和检验假设。我将在另一篇文章“ GIST-在Delivery Club中验证假设的框架”中详细介绍这一点。



我们按产品线划分了团队结构,并进行了产品改造。我们所有的团队都对单个产品中的产品或价值流负责。产品经理定义产品变更策略。首先,这使团队可以更清楚地专注于手头的任务,并在预期的时间范围内取得成果。其次,它使开发人员可以更好地了解最终用户并参与其中。



转型本身始于2018年底,新的开发过程于2019年初扎根。自2019年中以来,我们一直在积极招聘。在这段时间里,我们增长了4倍,即+120人。因此,我要说的是转换过程一直持续到今天。我将在另一篇文章中讨论它。



十年来,Delivery Club已成为俄罗斯食品配送的领导者,业务遍及150多个城市,2.2万家合作餐厅以及每月超过550万张订单。为了快速应对所有变化,订单数量的增长速度和新挑战,并同时保持领导地位,我们必须了解我们的受众群体,保持灵活和适应性,以结果为导向,并在内部建立有助于实现这些目标的流程。所有这些都反映在我们的文化中。



Delivery Club科技文化的特色



让我们总结一下俄罗斯现代食品技术市场特点



  • 经验不能总是被复制。
  • 新的垂直行业正在兴起,市场正在迅速变化。
  • 增长最快的电子商务领域之一。
  • 形成新的消费习惯。
  • 您需要快速响应新兴的用户需求。


这些特征是我们文化基本原则的基础







反过来,工程文化又是一种亚文化-公司文化的自然延续。它不仅反映了工作原理,还反映了我们如何选择技术,构建架构,雇用人员和构建团队。现在,我将只关注一个方面:内部开发!



功能发布的速度和质量对我们很重要。我相信只有在员工充分参与流程,领域和平台的情况下才能实现这种结合。当团队彼此之间以及与企业之间密切沟通时,他们就会了解他们如何影响产品开发以及新功能的发布如何影响最终用户。同时,它们深入研究了技术实施的复杂性,因此在准备相同的MVP时,当我们做出相当迅速的决策时,它们也是可靠的。



我坚信,只有在人们积极进取,恰当地结合情境并为结果负责时,这才可以实现。这就是内部开发的力量和重要性得到充分体现的地方。



-但是应用程序运行正常,为什么需要170个人?



正如我在上面写的,e-com就像一座冰山,从侧面始终只能看到很小的上部。所有主要集中在离线状态下的操作活动对普通用户而言都是隐藏的。



Delivery Club业务基于四个最重要的向量:



  1. 购买食物的顾客。
  2. 邮递员。
  3. 合作伙伴(餐厅/商店)。
  4. 技术支持:控制流程的呼叫中心和调度员。


所有这些向量都需要监视,控制和自动化系统。尽管所有这些活动都隐藏在外部观察者的眼中,但这并没有抵消其重要性。



去年,我们又成立了两个领域:研发和平台。研发方向是解决科学密集型任务,在确定性较低的领域工作,现在主要集中在物流任务上。他们与运营部门一起优化业务流程,并使手动和例行操作自动化。



平台团队致力于平台的技术改进,更改架构,以便我们可以应对数量越来越多的订单和负载。订单的增长是如此之快,以至于我们与前一年相比增长了三倍。现在,想象分阶段重新考虑体系结构以应对不断增长的工作负载有多么重要。



在今年春季,我们开始引入机器学习系统以智能地个性化搜索结果,并且我们计划使用相同的系统根据计划评估订单状态,并在必要时自动连接用于更正的工具。



结论



市场瞬息万变,因此,必须尽快适应流程和技术,这一点很重要。这是我们的工作:



  • 我们保持灵活性并随市场变化;
  • ;
  • , , , ;
  • , Time to Market.


为此,我们选择了内部开发路径。食品技术市场的所有特点都反映在他们的工程文化原则中。顺便说一句,下面是它们:tech.delivery-club.ru/culture



反过来,工程文化告诉我们哪些软件技能对Delivery Club IT部门的员工来说很重要。这些素质已经成为我们招聘框架的基础。



我几乎没有说过球队从内部看的样子。这将在下一篇文章中进行讨论,其中介绍了一切如何开始,我们经历了哪些转型阶段,现在情况如何以及我们必须面对哪些新挑战。



我们也不会错过任何技术方面的内容。我将在平台和体系结构上撰写另一篇文章。另外,让我们分别谈论Go-Swagger和Kafka Connect。



我希望我能够使您沉浸在食品技术市场的背景下,并解释为什么Delivery Club有170个开发人员。



谢谢阅读!



All Articles