Как стать автором
Обновить

Компания Delivery Club Tech временно не ведёт блог на Хабре

Сначала показывать

Время — деньги: анализируй А/В-тесты разумно

Время на прочтение10 мин
Количество просмотров12K


Всем привет! Меня зовут Кирилл, я работаю в продуктовом направлении команды Data Science. Сегодня я расскажу о том, как мы в Delivery Club автоматизируем A/B-тестирование. Основная часть статьи посвящена аналитике, но мы кратко затронем и остальные аспекты.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии4

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

Время на прочтение4 мин
Количество просмотров18K


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

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

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

Время на прочтение6 мин
Количество просмотров25K


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

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

Время на прочтение8 мин
Количество просмотров12K


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

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

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

Время на прочтение11 мин
Количество просмотров9.4K


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

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

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

Время на прочтение11 мин
Количество просмотров9.5K


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

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

Большой отчёт об изменениях в веб-доступности

Время на прочтение23 мин
Количество просмотров3.9K


В 2020 году, как никогда раньше, стала очевидна необходимость сделать цифровое пространство инклюзивным и доступным для всех. Из-за продолжающейся пандемии, которая осложнила личный доступ к услугам и перевела целые отрасли в онлайн, особенно сильно страдают люди с ограниченными возможностями. К тому же их количество с растет из-за долгосрочных последствий пандемии.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии1

Доступность — это не так просто

Время на прочтение4 мин
Количество просмотров5.5K


Привет, Хабр! В предыдущей статье я рассказывал о простых случаях проблем с доступностью, исправив которые можно сделать свой сайт или web-приложение гораздо доступнее. Я упоминал о правиле 80/20 и писал о проблемах, которые при наименьших затратах дают наибольший результат. Сегодня я бы хотел поговорить о другой группе проблем, которые входят в 20% и для решения которых нет готовых рецептов вроде «всегда заполняйте атрибут alt» или «используйте верные заголовки».

Выбирая формат повествования, я не придумал ничего лучше, чем просто описать ход своих мыслей на достаточно часто встречающемся примере.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии11

Доступность — это просто, Или 5 смертных грехов доступности

Время на прочтение5 мин
Количество просмотров9.7K

Привет, Хабр! Меня зовут Алексей Устинов, я Frontend-разработчик в Delivery Club. В свободное время я интересуюсь вопросами доступности интерфейсов. Это первая из двух статей, в которых я хочу рассказать о проблемах с доступностью в вебе. Я расскажу про 5 простых правил, соблюдая которые можно значительно улучшить доступность сайта. Также мы рассмотрим самые распространённые проблемы, я объясню, почему они являются проблемами, и дам простые советы по их решению. Во второй статье я, наоборот, приведу примеры элементов страницы, сделать доступными которые — совсем нетривиальная задача.

Я уверен, что ты, %username%, слышал про правило 80/20: 80% результата можно достичь за 20% трудозатрат, а на достижение остальных 20% необходимо потратить 80% трудозатрат. Именно это правило объединяет эту и следующую статью.

Читать далее
Всего голосов 45: ↑39 и ↓6+33
Комментарии39

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

Время на прочтение18 мин
Количество просмотров32K


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

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

Delivery Club x GIST

Время на прочтение17 мин
Количество просмотров4.9K


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

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

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

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

Время на прочтение14 мин
Количество просмотров29K


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

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

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


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

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

Время на прочтение15 мин
Количество просмотров8.8K


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

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

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

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

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

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

Время на прочтение15 мин
Количество просмотров8.5K


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

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

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

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

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

Всего голосов 41: ↑38 и ↓3+35
Комментарии15

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

Время на прочтение7 мин
Количество просмотров9.2K


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

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

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

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

Время на прочтение9 мин
Количество просмотров23K


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

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

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

Время на прочтение10 мин
Количество просмотров9.3K
image

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

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

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

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

Время на прочтение8 мин
Количество просмотров10K
image

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

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

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

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

Tech Talks Delivery Club на РИТ++

Время на прочтение5 мин
Количество просмотров2.7K
image

Привет, Хабр! Hello, World!

Меня зовут Андрей Евсюков, я заместитель технического директора в Delivery Club. А это первый пост в нашем блоге на Хабре. Сегодня расскажу о том, как и где можно узнать про разработку, процессы и команду Delivery Club. Спойлер: до сих пор никто так много не знал, как устроен DC Tech.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии4
2