Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

Mail.ru GroupDelivery Club TechУправление разработкойУправление e-commerceIT-компании
image

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

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

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

Начну со статьи про особенности индустрии foodtech, которые напрямую влияют на то, как всё организовано внутри Delivery Club. И в процессе постараюсь объяснить, для чего нам 170 разработчиков и почему это не может быть просто outsource.
Читать дальше →
Всего голосов 74: ↑49 и ↓25 +24
Просмотры8.9K
Комментарии 31

Продуктовая трансформация в Delivery Club Tech

Mail.ru GroupDelivery Club TechУправление разработкойУправление продуктомIT-компании
image

Привет, Хабр! Как и обещал в предыдущем посте, продолжаю знакомить вас с Delivery Club Tech. Сегодня поговорим о продуктовой трансформации.

Так совпало, что мой приход в DC в октябре 2018-го ознаменовался тотальной перестройкой всех процессов в команде. В тот момент перед IT-департаментом, да и перед всей компанией, стояли новые вызовы. Было понятно, что прежние процессы не отвечают новым требованиям. В основном они касались снижения Time to Market.

Именно об этих изменениях, новых вызовах, новой структуре команд, о том, как мы работаем без менеджеров проектов и технических аналитиков, о подходах к продуктовой разработке я и хочу сегодня рассказать.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры4.4K
Комментарии 14

Go-swagger как основа взаимодействия микросервисов

Mail.ru GroupDelivery Club TechGoМикросервисы


Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь?

Если задать такой вопрос 100 программистам из разных компаний, скорее всего, мы получим 100 разных ответов. Кто-то описывает контракты в swagger, кто-то в gRPC просто делает клиенты к своим сервисам без описания контракта. А кто-то и вовсе хранит JSON в гуглодоке :D. В большинстве компаний складывается свой подход к межсервисному взаимодействию на основании каких-либо исторических факторов, компетенций, стека технологий и прочего. Я хочу рассказать, как сервисы в Delivery Club общаются друг с другом и почему мы сделали именно такой выбор. И главное — как мы обеспечиваем актуальность документации с течением времени. Будет много кода!
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры9.7K
Комментарии 24

Разделяй и властвуй. Модульное приложение из монолита на Objective-C и Swift

Mail.ru GroupDelivery Club TechРазработка под iOSObjective CSwift


Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club, и застал проект в его монолитном виде. Признаюсь, что приложил руку к тому, борьбе с чем посвящена эта статья, но раскаялся и трансформировал своё сознание вместе с проектом.

Я хочу рассказать, как разбивал существующий проект на Objective-C и Swift на отдельные модули — framework’и. Согласно Apple, framework — это директория определенной структуры.

Изначально мы поставили цель: обособить код, реализующий функцию чата для поддержки пользователей, и уменьшить длительность сборки. Это привело к полезным последствиям, которым сложно следовать, не имея привычки и существуя в монолитном мире одного проекта.
Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Просмотры4K
Комментарии 6

Как мы побеждаем неопределенность в Delivery Club

Mail.ru GroupDelivery Club TechРазработка под e-commerceИсследования и прогнозы в ITУправление e-commerce
🔥 Технотекст 2020


Друзья, всем привет! Меня зовут Коля Архипов, я отвечаю за Research & Development в Delivery Club.

Наша команда решает наукоёмкие задачи внутри FoodTech-платформы: мы разрабатываем компоненты, основанные на алгоритмах и данных, которых в платформе DС много. В процессе решения мы сталкиваемся со множеством неопределенностей как со стороны бизнеса, так и со стороны разработки.

Материал получился объёмным и, я надеюсь, полезным для вас. Поэтому рекомендую поставить чайничек и заварить вкусный кофе, я сделал так сам, пока работал над этой статьей.

Сегодня расскажу о гонке, которую наша команда прошла за последний год. Аналогия возникла сама собой — мы работаем в очень динамичной компании, лидере рынка FoodTech в России. Мы стремительно развиваем разные направления бизнеса, и это действительно драйвит! Мы не только успешно пришли к финишу, но и получили много инсайтов в процессе «гонки». Этим и хочу поделиться с вами.

Статья появилась после доклада на конференции РИТ++ 2020. Для тех, кто любит видео, — ищите его в конце статьи.

Читать дальше →
Всего голосов 41: ↑38 и ↓3 +35
Просмотры6.8K
Комментарии 15

Вначале был монолит: как мы меняем нашу архитектуру, не мешая бизнесу

Mail.ru GroupDelivery Club TechАнализ и проектирование системРазработка под e-commerceМикросервисы
🔥 Технотекст 2020


Всем привет! Меня зовут Игорь Наразин, я тим-лид команды в направлении логистики Delivery Club. Хочу рассказать, как мы строим и трансформируем нашу архитектуру и как это влияет на наши процессы в разработке.

Сейчас Delivery Club (как и весь рынок фудтеха) растёт очень быстро, что порождает огромное количество вызовов для технической команды, которые можно обобщить двумя самыми важными критериями:

  • Нужно обеспечивать высокую стабильность и доступность всех частей платформы.
  • Одновременно с этим держать высокий темп разработки новых фич.

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

Но нам удаётся (пока) и то, и другое. О том, как мы это делаем, и пойдет речь далее.
Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры7.1K
Комментарии 10

Сценарий идеального технического собеседования

Mail.ru GroupDelivery Club TechРазработка под iOSУправление персоналомКарьера в IT-индустрии
🔥 Технотекст 2020


Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей.

Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я собрал накопленный опыт и собственные наблюдения, которыми хочу поделиться. Во второй части статьи приведу пример собеса с комментариями со своей стороны. Итак, начнём.

1. Собесы бывают разные: жёлтые, зелёные, красные (лирическое отступление)


Есть мнение, что сложные технические собесы не работают. Сооснователь платформы для рекрутинга Interviewing.io Алин Лернер ранее писала, что компании, которые подбирают сотрудников, опираясь на сложные технические собеседования, «тратят ресурсы на множество кандидатов, которые не понимают игровую сущность собеседований». В результате на финишную прямую в таких компаниях выходят кандидаты, которые хороши именно в прохождении интервью.
Читать дальше →
Всего голосов 44: ↑41 и ↓3 +38
Просмотры20.1K
Комментарии 25

Delivery Club x GIST

Mail.ru GroupDelivery Club TechУправление разработкойУправление проектамиУправление продуктом


Привет! Меня зовут Илья Воробьёв, в Delivery Club я отвечаю за направление клиентских продуктов. Вместе с Андреем Евсюковым я расскажу о том, как в растущей команде мы пересобирали процессы планирования и к чему это привело.

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

  • Мария Чебакова, руководитель группы оптимизации процессов. Отвечает за формирование и настройку бизнес- и операционных процессов.
  • Антон Сокольников, руководитель проектов в направлении логистики. Отвечает за развитие логистических продуктов.
  • Станислав Ураков, руководитель разработки в направлении логистики. Отвечает за систему, архитектуру и архитектурные решения, а также команды разработки.
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры2.8K
Комментарии 3

Как синхронизировать сотни таблиц базы в Kafka, не написав ни одного продюсера

Mail.ru GroupDelivery Club TechВысокая производительностьАдминистрирование баз данныхApache


Привет, Хабр! Меня зовут Сергей Бевзенко, я ведущий разработчик Delivery Club в команде Discovery. Наша команда занимается навигацией пользователя по приложению Delivery Club: мы отвечаем за основную выдачу ресторанов, поиск и всё, что с этим связано.

Я расскажу про Kafka Connect: что это такое, какова общая концепция и как работать с этим фреймворком. Это будет полезно тем, кто использует Kafka, но не знаком с Kafka Connect. Если у вас огромный монолит и вы хотите перейти на событийную модель, но сталкиваетесь со сложностью написания продюсеров, то вы тоже найдёте здесь ответы на свои вопросы. В комментариях можем сравнить ваш опыт использования Kafka Connect с нашим и обсудить любые вопросы, которые с этим связаны.
Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры7.8K
Комментарии 10

Эволюция прогноза времени в Delivery Club

Mail.ru GroupDelivery Club TechМашинное обучениеИсследования и прогнозы в ITИскусственный интеллект


Всем привет! Меня зовут Сергей Яныкин, я руководитель команды Dynamic Time в R&D-направлении Delivery Club. Хочу вам рассказать, как наша команда перешла на тёмную сторону к динамическому расчёту прогнозов и стала ответственной за время в сервисах Delivery Club.

Для начала давайте подумаем, насколько сильно время, которое используется в логистических системах, может влиять на работу всей системы?
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Просмотры6.3K
Комментарии 18

Выходим на рынок Huawei, или Как мы адаптировали приложение для работы с HMS

Mail.ru GroupDelivery Club TechРазработка мобильных приложенийРазработка под AndroidАналитика мобильных приложений


Привет, Хабр! Меня зовут Георгий Гигаури, я разрабатываю Android-приложение Delivery Club. Эта статья появилась после доклада на конференции Mobius 2020, где мы выступали вместе с Павлом Борзиковым. Для тех, кто любит видео, — ищите его в конце статьи.

Почему мы вообще обратили внимание на Huawei-устройства? Всё началось с того, что Huawei теперь не может распространять свои устройства с сервисами Google Play. Да, они могут использовать ОС Android, так как это открытая операционная система, но чтобы распространять устройства с сервисами Google Play, необходимо иметь лицензию. К сожалению, Huawei не может получить её из-за разногласий между Китаем и США. Поэтому Huawei приходится разрабатывать свои собственные Mobile Services. Справедливости ради, они этим занимались уже давно, но теперь им приходится расширять кодовую базу, активно увеличивать количество сервисов.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Просмотры4.6K
Комментарии 4

Compositional Layout: стоит ли игра свеч?

Mail.ru GroupDelivery Club TechРазработка под iOSРазработка мобильных приложенийИнтерфейсы


Всем привет! Меня зовут Алексей Скоробогатов, я ведущий iOS-разработчик в Delivery Club. Сегодня я хотел бы рассказать про вёрстку в нашем приложении на примере использования Compositional Layout. В конце прошлого года волевым решением iOS-команды и апрувом руководства мы перешли на iOS 13+. Этот манёвр позволил нам начать использовать новые нативные инструменты, в том числе и новый декларативный подход к описанию layout-коллекций. Расскажу о переводе нашего экрана поиска и его компонентов на Compositional Layout, а также о проблемах, с которыми я столкнулся.

Для полноценного представления о Compositional Layout предлагаю прочитать вот эту статью и ознакомиться с примерами Apple.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры4.9K
Комментарии 2

Микрофронтенды: разделяй и властвуй

Mail.ru GroupDelivery Club TechРазработка веб-сайтовJavaScriptVueJS


Всем привет! Меня зовут Аня, я фронтенд-разработчик в Delivery Club. Хочу рассказать про использование микрофронтендов. Поговорим о том, что же это за зверь такой — микрофронтенд, почему мы решили использовать этот подход в своих проектах и с какими проблемами столкнулись при внедрении.
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Просмотры14K
Комментарии 34

Швейцарский нож отладки JavaScript

Mail.ru GroupDelivery Club TechJavaScriptGoogle ChromeHTML


Кажется, что все в начале пути разработчика отлаживали код при помощи console.log(). Я уверен, что и сейчас среди читателей найдётся человек, который сможет отладить код любой сложности при помощи вывода информации в консоль.

Признаюсь честно, я и сам достаточно долго просто выводил что-то в консоль, пытаясь понять, что пошло не так. Я понимал, что использовать breakpoint быстрее и продуктивнее, даёт больше возможностей, ну и в целом выглядит солиднее, но по-прежнему пользовался консолью.
Читать дальше →
Всего голосов 40: ↑37 и ↓3 +34
Просмотры11.2K
Комментарии 16

We need to go deeper: как пасхалка в приложении Delivery Club сократила субъективное время ожидания еды

Mail.ru GroupDelivery Club TechРазработка мобильных приложенийРазработка игрДизайн игр


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

В декабре у нашего разработчика Александра Верестникова возникла идея интегрировать в приложение тайм-киллер — игру-пасхалку, в которую пользователь мог бы поиграть, пока ждёт заказ. Игрушка позволила бы сократить субъективное время ожидания заказа, а тот факт, что её как будто сложно найти, добавил бы происходящему таинственности. Саша зацепил этой идеей другого разработчика, Сахея Игнатьева. И они принялись за работу. После недолгих обсуждений выбор пал на змейку.
Читать дальше →
Всего голосов 18: ↑10 и ↓8 +2
Просмотры3.7K
Комментарии 6