company_banner

Зачем нам 170 разработчиков

    image

    Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом.

    В этой серии статей я расскажу о том, как у нас всё работает, начиная с того, как устроена IT-система Delivery Club в целом и как создаются новые фичи, и заканчивая построением команд, процессом найма сотрудников и собеседованиями. А самое главное, почему именно такую архитектуру мы выбрали, почему именно так выстроены процессы и каких именно специалистов мы ищем на рынке.

    В каждой из статей я подробно опишу, как мы работаем в DC Tech. При этом каждая из этих статей будет логичным следствием того, как устроен рынок FoodTech в России и какие ограничения он накладывает. В первую очередь, рынок влияет на культуру компании, а следовательно, и на инженерную культуру. Особенности культуры диктуют нам те решения, к которым мы пришли. Вот про эти особенности и поговорим. Поехали!

    Начну со статьи про особенности индустрии foodtech, которые напрямую влияют на то, как всё организовано внутри Delivery Club. И в процессе постараюсь объяснить, для чего нам 170 разработчиков и почему это не может быть просто outsource.

    Особенности FoodTech в России и отличия от классического e-commerce


    Под классическим e-com я подразумеваю коммерцию на стыке онлайна и оффлайна. Всегда есть сайт или мобильное приложение, где совершается заказ, системы автоматизации, например, склада, а есть оффлайн-часть — операционная деятельность, в подавляющем большинстве случаев это доставка last mile. Помимо этого существуют системы мониторинга для контроля за эффективностью всех онлайн- и оффлайн-процессов.

    Доставка еды сильно отличается от большинства других доставок


    Давайте рассмотрим доставку канцелярии, книг или одежды: заказ сформирован, собран в коробку, лежит на складе. Автоматически формируется маршрутный лист, даже если это same day delivery — это не происходит мгновенно. Курьер забирает заказы и развозит их по списку: одному клиенту, другому — всё по порядку. Всё заранее известно. Если происходит задержка в небольшом диапазоне времени, это не так критично — все товары останутся целыми, клиент, как правило, готов немного подождать. А если диапазон хотя бы часовой, то точное время доставки доподлинно неизвестно.

    С едой всё не так.

    • Мы должны контролировать время! Когда пользователь делает заказ, он голоден. Он не может ждать. Еда должна быть горячей, каждая минута на счету.
    • Невозможно составить маршрутный лист. В Delivery Club только 2% предзаказов. А в остальном никто не заказывает еду заранее — это всегда происходит on demand.

    • Процесс работы курьеров — динамичный. Ситуация меняется каждые 5-15 минут. Когда начинается дождь или снег, всегда повышается спрос. А когда на улице солнечно и не хочется сидеть дома, спрос снижается. В праздничные и выходные дни профиль спроса отличается от будней. Дорожная ситуация и пробки также вносят свои коррективы, особенно в тех зонах, где превалируют авто/мото-курьеры.

    Давайте ещё раз посмотрим на ситуацию на рынке:

    1. Рынок быстро меняется. Появляются новые вертикали и направления. Представьте, Delivery Club уже 10 лет. С 2009 по 2016 мы были маркетплейсом. В 2016-м начали развивать логистику. За последние полгода мы запустили доставку продуктов, доставку из аптек, Takeaway и начали предоставлять сервис экспресс-логистики сторонним компаниям (Связной). Мы видим ещё много ниш, в которых мы можем упростить жизнь пользователей.
    2. Ожидания от уровня сервиса меняются быстро. Ещё пару лет назад мы заказывали суши по телефону и были готовы ждать пиццу три часа. Сегодня пользователь привык получать бургер и любимый боул с авокадо через 40 минут, сделав пару кликов в смартфоне. FoodTech — это одна из тех индустрий, где сегодня создаются новые потребительские привычки, и происходит это прямо сейчас!
    3. Количество заказов продолжает расти с колоссальной скоростью. Представьте: за весь 2018 год мы выполнили 4 миллиона заказов, в то время как только за один сентябрь 2019-го — 3 миллиона, а уже в марте 2020-го вышли на показатель в 1 миллион заказов в неделю!
    4. С другой стороны, нам нужно быстро реагировать на новые возникающие потребности пользователей. В период пандемии нужно было быстро катить обновления. Организовать быструю доставку продуктов в период самоизоляции. Вводить новые меры для профилактики коронавирусной инфекции, обеспечить безопасность курьеров, клиентов и партнеров. Отменить расчёт наличными.

    Почему в России всё по-другому


    Конечно же, мы смотрим на опыт компаний на тех рынках, где foodtech более развит — в Европе, Юго-Восточной Азии, Индии. Но этот опыт невозможно использовать as is, так как у них другая география и топология, условия, покупательская способность. У нас крупнейшая страна мира по площади, организовать здесь логистику — уникальная задача. Инфраструктура наших городов тоже отличается: другое разделение на авто/мото/пешую доставку, другая плотность расположения ресторанов (много ТЦ и отдельных маленьких кафешек).

    Работа курьеров на велосипедах в Европе — распространенная практика, а у нас для повсеместного внедрения велосипедов нет инфраструктуры, велодорожек. Поэтому большинство курьеров в России — пешеходы. А еще есть разница в погодных условиях. Такой зимы, как у нас, нет, например, в Юго-Восточной Азии. Все эти факторы накладывают свои ограничения.

    Ещё один пример: мы планировали сделать аналог тепловой карты спроса, как в такси. Но водители часто перемещаются между районами, для них это привычно. А с пешими курьерами ситуация другая: курьер выбирает свою зону сам, она ему знакома, в ней он свободно ориентируется.

    Как мы с этим справляемся

    Маршрутные листы нам заменяет прогнозирование спроса. Мы знаем погоду, день недели, месяц, составляем зоны доставки и смены. Для коммуникации с курьерами мы сделали мобильное приложение RiderApp.

    Для контроля ситуации мы построили системы, которые отслеживают изменения в реальном времени. Например, когда погода меняется — пошел дождь и увеличился спрос — мы сразу это увидим на мониторингах, изменятся вводные, а наша система может внести коррективы в параметры алгоритмов. А вот более прогнозируемые изменения уже зашиты в работу таких систем. Например, утренние, дневные и вечерние часы имеют разный профиль спроса. Всё это ещё и адаптировано к разным часовым поясам. Подробно об этом рассказали Денис Горев в докладе «Автоназначение курьеров в Delivery Club» и Николай Архипов в докладе «Как мы побеждаем неопределенность в Delivery Club».

    При разработке новой функциональности мы используем гипотезы. Мы оцениваем, как изменения в продукте будут влиять на пользователя, проводим исследования, подкрепляем эти результаты теми аналитическими данными, которые у нас уже есть. Делим разработку на этапы, чтобы понять, где можно сделать проще, и быстрее выпустить MVP. Это особенно актуально при выходе на новые вертикали рынка. Чтобы собрать всё это вместе, мы внедрили отдельный процесс построения и проверки гипотез. Про это я подробно расскажу в отдельной статье «GIST — фреймворк верификации гипотез в Delivery Club».

    Структуры команд мы поделили по продуктовым направлениям и провели продуктовую трансформацию. Все команды у нас отвечают за свой продукт или value stream внутри отдельно взятого продукта. Стратегию продуктовых изменений определяет Product Manager. Это позволяет, во-первых, командам более четко фокусироваться на поставленной задаче и добиваться результата в ожидаемые сроки. Во-вторых, позволяет разработчикам лучше понимать конечных пользователей и быть вовлеченными.

    Сама трансформация у нас началась в конце 2018 года, а новый процесс разработки закрепился в начале 2019 года. С середины 2019-го у нас идет активный найм. За это время мы выросли в 4 раза, а это +120 человек. Поэтому я бы сказал, что процесс трансформации продолжается до сих пор. О нём я расскажу в отдельной статье.

    За десять лет Delivery Club стал лидером доставки еды в России с присутствием более чем в 150 городах, 22 тысячами ресторанов-партнеров и более 5,5 млн заказов ежемесячно. Чтобы быстро реагировать на все изменения, скорость роста количества заказов и новые вызовы, и при этом оставаться лидерами, мы должны понимать свою аудиторию, быть гибкими и адаптивными, ориентироваться на результат и строить такие процессы внутри, которые помогли бы достигнуть этих целей. Всё это находит отражение в нашей культуре.

    Особенности культуры Delivery Club Tech


    Давайте подытожим, какие есть особенности у современного рынка FoodTech в России:

    • Опыт не всегда можно скопировать.
    • Появляются новые вертикали, рынок быстро меняется.
    • Один из самых быстрорастущих сегментов e-commerce.
    • Формирование новых потребительских привычек.
    • Нужно быстро реагировать на возникающие пользовательские потребности.

    Из этих особенностей и строятся основные принципы нашей культуры:



    Инженерная культура, в свою очередь, является субкультурой — естественным продолжением культуры компании. В ней отражены не только принципы работы, но и то, как мы выбираем технологии, строим архитектуру, нанимаем людей и строим команды. Сейчас я остановлюсь только на одном аспекте: in-house разработке!

    Нам важна скорость выпуска фич и качество. Я верю, что этого сочетания можно добиться только при полной вовлеченности сотрудников в процесс, предметную область и платформу. Когда команды плотно общаются между собой и с бизнесом, понимают, как они влияют на развитие продукта, и как выпуск новой фичи влияет на конечного пользователя. При этом вникают в тонкости технической реализации, чтобы при подготовке того же MVP, когда мы делаем довольно быстрые решения, они были ещё и надежными.

    Я убежден, что это достижимо только, когда люди мотивированы, правильно погружены в контекст и заряжены на результат. В этом и проявляется в полной мере сила и важность in-house разработки.

    — Но приложение же работает нормально, зачем вам 170 человек?


    Как я писал выше, e-com похож на айсберг, со стороны всегда видна лишь малая верхняя часть. Вся операционная деятельность, которая в основном сосредоточена в оффлайне, скрыта от глаз обычного пользователя.

    В основе бизнеса Delivery Club лежат четыре самых важных вектора:

    1. Клиент, который покупает еду.
    2. Доставщик.
    3. Партнёр (ресторан/магазин).
    4. Техподдержка: call-центр и диспетчеры, которые контролируют процесс.

    Для всех этих векторов нужны системы мониторинга, контроля и автоматизации. И хотя вся эта деятельность скрыта от глаз стороннего наблюдателя, это не отменяет её значимости.

    В прошлом году мы сформировали ещё два направления: R&D и Platform. Направление R&D решает наукоёмкие задачи, работает с зоной низкой определенности, которая сейчас в основном сосредоточена вокруг логистических задач. Ребята вместе с отделом Операций оптимизируют бизнес-процессы и автоматизируют ручные и рутинные действия.

    Команда Platform занимается технологическими улучшениями платформы, меняет архитектуру, чтобы мы могли справляться с возрастающим количеством заказов и нагрузками. Рост заказов настолько стремительный, что мы выросли в целых три раза по сравнению с предыдущим годом. И теперь представьте, как важно поэтапно пересматривать архитектуру, чтобы справляться с постоянно возрастающими нагрузками.

    Весной этого года мы начали вводить системы Machine Learning для умной персонификации поисковой выдачи, и планируем использовать те же системы для оценки состояния заказов относительно плана, при необходимости автоматически подключая инструментарий для коррекции.

    Выводы


    Рынок быстро меняется, поэтому важно так же быстро адаптировать процессы и технологии под него. Вот, что делаем мы:

    • сохраняем гибкость и меняемся вместе с рынком;
    • генерируем много гипотез и умеем их измерять;
    • делаем процессы прозрачными, чтобы вся команда понимала, что мы делаем и зачем, и как именно фичи влияют на конечных пользователей;
    • непрерывно оптимизируем процессы разработки и релизного цикла, чтобы снизить Time to Market.

    Для этого мы выбрали путь in-house разработки. А все особенности рынка FoodTech отразили в своих принципах инженерной культуры. Кстати, вот они, взгляните: tech.delivery-club.ru/culture.

    Инженерная культура, в свою очередь, нам подсказывает, какие Soft Skills важны для сотрудников IT-отдела Delivery Club. Эти качества стали основой нашего фреймворка найма.

    Я почти ничего не рассказал о том, как выглядят команды изнутри. Об этом пойдет речь в следующей статье, рассказывающей о том, с чего всё начиналось, какие этапы трансформации мы прошли, как обстоят дела прямо сейчас и с каким новыми вызовами нам приходится сталкиваться.

    Технические аспекты мы также не пропустим. Отдельную статью посвящу Платформе и Архитектуре. А также отдельно поговорим про Go-Swagger и Kafka Connect.

    Надеюсь, мне удалось погрузить вас в контекст foodtech-рынка и объяснить, зачем Delivery Club 170 разработчиков.

    Спасибо, что дочитали!
    Mail.ru Group
    Строим Интернет

    Похожие публикации

    Комментарии 31

      0
      Как раз закончил смотреть видео про Delivery Club:
      Заголовок спойлера


      После такого заказывать что-то в яндекс.еде или delivery club как-то совсем не хочется.
        +3
        Да про еду вообще не интересно, интересно зачем им 170 разработчиков и 50 сеньоров за 40 дней.
          +4
          Подозреваю правильный ответ, нам выдали X денег, чтобы мы захватили Y рынка и мы пока ничего не придумали кроме как нанять Z-человек, а там посмотрим.
          0
          Я смотрю 15 из 170 разработчиков минус вам уже поставили. А между тем у меня тоже вопрос к разработчикам (тут скорее с точки зрения совести, хотя о чем это я) и их руководству (к ним в первую очередь). На основании какого закона в DC практикуется система денежных штрафов? Идем и смотрим в ТК РФ «Трудовой кодекс РФ запрещает наложение дисциплинарных взысканий, не регламентированных самим кодексом, уставами о дисциплине и прочими федеральными законами. Работодатель не вправе лишить сотрудника отпуска и выходных дней, равно как и применять к нему штрафные санкции.» Так же интересно узнать сколько среди числа этих разработчиков на самом деле менеджеров на большой зарплате, которые ничего по факту не делают (кроме как «воду льют» на хабре через такие статьи).
            0
            А между тем у меня тоже вопрос к разработчикам (тут скорее с точки зрения совести, хотя о чем это я)

            А к совести производителей хозбыт ножей есть вопросы? А то ведь ими столько людей убивают.

            Я не то, что бы выступаю адвокатом, но в России большинство разработчиков опосредованного работает на того или иного Джаббу Хатта. Такая у нас «экономика».
            +1
            Это вы ещё обзор с канала «Все работы хороши» не смотрели
            Заголовок спойлера


            Сочувствую курьерам и спокойно отношусь, если он приходит на полчаса позже.
            +18

            Так зачем вам 170 разработчиков? Вопрос остался открытым.
            Какой то "словестный понос", чуть более, чем полностью состоящий из бодрых маркетинговых лозунгов вперемешку с модными словечками.

              +6
              Похоже, что сейчас сервисы доставки еды хотят стать ИТ-компаниями :) Вон в додо-пицце около 130 разработчиков :) И зачем сети пиццерий такое количество разрабов — тоже интересный вопрос.
                +1
                В ДоДо как раз вполне понятно зачем, если внимательно посмотреть, чем они занимаются, что говорят, пишут и как торгуются.

                Хотят максимально надуть щеки и продаться — вот и все — никакой магии.
                  –1

                  Ты в своих противоречивых комментариях не запутался? О_о. Додо так и не ответили на вопрос зачем им это магическое число 250 разрабов, они там сами себе придумали гонку за количеством, а оправдать не знают как. В гугл сколько 70к разрабов? Так может додо сразу стремиться к цифре 80к разрабов? А то ну чёт мелко 250

                    0
                    Ты в своих противоречивых комментариях не запутался?
                    А где у меня противоречивые комментарии? Можно пруф?
                      –2

                      «Все классно, кроме ответа на вопрос зачем Вам 170 разработчиков.


                      У Вас приложуха для клиентов, приложуха для курьеров, сайт и бэкофис, верно?
                      Как распределены по этим направлениям разработчики? Ибо 170 — это реально ОЧЕНЬ много.


                      И можно без вот-этой вот маркетинговой шелухи? Здесь ресурс немного другой и любят здесь за конкретику.»


                      И тут же, ой а додо они нужны, это факт. Ничего противоречивого нет, да?

                        +1
                        Вы читать мой коммент про ДоДо пробовали? А понять?
                        Понятие сарказм вам знакомо?
                        Перечитайте еще раз — вдруг дойдет? )

                        P.S. подсказка кроется в последней фразе — если что, моргните глазом, если Вас заставляют писать комментарии…

                        Если вдруг все еще не удалось понять...
                        По секрету — ДоДо их 200 с лишним разработчиков нужны только для пиара и ничего больше, как, скорее всего и Delivery Club.
                    +12
                    И щёки мы уже надули

                    image
                +7
                Все классно, кроме ответа на вопрос зачем Вам 170 разработчиков.

                У Вас приложуха для клиентов, приложуха для курьеров, сайт и бэкофис, верно?
                Как распределены по этим направлениям разработчики? Ибо 170 — это реально ОЧЕНЬ много.

                И можно без вот-этой вот маркетинговой шелухи? Здесь ресурс немного другой и любят здесь за конкретику.
                  +1
                  Почитайте, пожалуйста, мой комментарий ниже. Постарался углубиться в детали.
                  +2

                  170 разработчиков это где-то 30-40 продуктовых команд. Можно представить, что в DC может быть 10 или 15 разных продуктов и внутренних систем, над каждой из которых трудится 2-7 разработчиков. Но 170 это явный перебор и статья на этот вопрос не отвечает, несмотря на заголовок, который прямо это и обещает.

                    +1
                    Вся разработка отталкивается от продуктов. Все продукты можно поделить на 4 типа:
                    1. Клиент, который покупает еду.
                    2. Доставщик.
                    3. Партнёр (ресторан/магазин).
                    4. Техподдержка: call-центр и диспетчеры, которые контролируют процесс.

                    Так вот для Клиентов у нас есть мобильное приложение и сайт, где внутри есть разные стримы, а под каждый стрим есть отдельная команда. Если перечислить, то это: доставка еды из ресторанов, доставка продуктов, еда навынос, доставка из аптек. Есть отдельные команды, отвечающие за поисковую выдачу, опыт пользователя во время и после checkout’a, скидки и акции, спец. подборки ресторанов.

                    Для Доставки мы делаем RiderApp (приложение для курьеров) и систему мониторинга для Диспетчеров. Внутри RiderApp, помимо функций принятия заказа, есть система выбора смен, система оповещений, информация по финансам.
                    Для Диспетчеров мы строим дашборд, который дает картину текущую ситуацию, и центр, в котором Диспетчер может вручную помочь Курьеру, если это требуется — переназначить заказ, выдать инструкции, выдать смену, связаться с рестораном.

                    Для Партнера мы делаем личный кабинет, в котором можно видеть статистику по поиску, заводить акции, управлять контентом (меню, ингредиенты, блокировки, расписания, картинки), настраивать зоны доставки. В этом же направлении есть команда интеграций с API ресторанов.

                    Для Техподдержки мы создаем инструменты для помощи пользователям.

                    Для каждого отдельного пункта, который я перечислил, есть команда, которая занимается развитием конкретной части продукта. Команда общается непосредственно со своими stakeholder’ами, чтобы понять, на сколько техническое решение отвечает текущим задачам.

                    Помимо этого есть направления RnD, которые занимаются оптимизацией бизнес процессов.
                    И есть ещё команда Platform, которая занимается пересмотром архитектуры.

                    Есть ли интерес в самых подробных деталях почитать про это?
                      +1

                      Круто, это и хотелось увидеть в статье :) Мне было бы интересно узнать не подробности сервиса, а о том, почему, скажем, поиск или чекаут требуют своих отдельных команд. Мне совершенно не очевидно, что там есть постоянно работа для нескольких человек. Кажется, что это просто функции, которые делаются один раз и после этого раз в 6 месяцев немного подкручиваются.

                        0
                        [sarcasm]
                        Да ну как зачем…
                        Опыт не всегда можно скопировать.

                        Т.е. читать надо — пишем свой велосипед, для этого надо N разработчиков. M в итоге уходят, и теперь нужно 170, чтобы разобраться что же там сделано, т.к. выбросить уже жалко.
                        [/sarcasm]
                          +1
                          Опыт не всегда может быть адаптирован из-за особенностей рынка, климата и топологии городов. Легаси у нас есть, но, впрочем, как и у любой компании, которой больше 6 лет.
                          +1
                          Про чекают конкретно я бы назвал 2 момента:
                          1. Профиль использования одних и тех же вещей у пользователей меняется со временем. Тот же чекаут мы пересматривали несколько раз за последние 3 года. Вариант «сделать один раз и подкручивать раз в 6 месяцев» не подходит, когда бизнес и компания растет, увеличивается количество пользователей и заказов. Про скорость роста я указал в статье.
                          2. Есть гипотезы, как улучшить саму форму чекаута, её удобство, в конечно итоге — конверсию. Этот процесс не останавливался никогда. Всегда есть области для оптимизации.

                          Помимо этого есть небольшие, но важных фичи, которые меняют чекаут. Из последнего: бесконтактная доставка, чаевые курьерам. Об этом в том числе данная статья: возникают вещи, которые невозможно предугадывать. Но мы их быстро решаем за счет, в том числе, структуры департамента, команд и процесса разработки.
                            0

                            Вс ещё не ясно. На первый взгляд, чекаут это несколько тысяч строк кода, ну может быть 2-3 тыс на беке и столько же на фронте. 3-4 страницы, 3-4 вызова API. Написать это можно да 1-2 месяца, ещё месяц на отладку. И это силами одного человека.


                            Но речь идёт о команде (предположу 3-7 разработчиков) которые пилят 3-4 страницы и 3-4 API вызова…

                      +1

                      Зачем вам нужны 170 разрабов? Ах да, прекратите ходить по пути инфоцыган и пытаться пиариться на хайпе айти, наймите толковых менеджеров и вдруг неожиданно 170 разрабов будут неактуальны и не придётся придумывать оправдания зачем нам такой раздутый штат, кстати, додошников это тоже касается

                        +6
                        Менеджер по PR закрыл таск по пиару на Хабре.
                          0
                          А сколько заказов на пике в итоге?
                          Что делают курьеры в то время, когда заказов нет?
                            +4

                            Компания с логотипом птицы и связанная с едой нибирает N разработчиков.


                            Где-то я такое уже видел.

                              0
                              А сколько разработчиков вам потребуется, чтобы наладить простейшую логистику, и не отменять заказ в последнюю минуту (я не шучу, именно так ваша автоматическая система и поступила)? Ужель курьер скончался прямо на пороге моего офиса?
                                0
                                Надеюсь когда-нибудь 170 разработчиков смогут реализовать открытие новой вкладки при ctrl+клике на акцию (некоторые еще сидят на десктопах, да).
                                Подсказка

                                  +1
                                  большинство курьеров в России — пешеходы

                                  Слегка сомнительное утверждение. Почти все курьеры что я вижу — на велосипедах или самокатах, очень редко вижу пеших.


                                  Где-то читал, что в приложении для курьера отдельно выбирается тип (пеший/вело), но нет никакого смысла выбирать вело — это лишь сократит сроки доставки и заставит в поте лица крутить педали, а денег особо не добавит. Поэтому все ставят себе "пеший", а по факту все равно ездят на двухколесном транспорте.

                                    +2
                                    Приветствую! А про какой город конкретно речь? Я всё таки говорю о масштабе 150 городов. Конечно, ситуация в отдельно взятых городах может быть более благоприятной для велосипедов.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое