Dodo Engineering – Telegram
Dodo Engineering
3.65K subscribers
868 photos
32 videos
3 files
692 links
Рассказываем о том, как развиваем IT в Dodo Brands.

Habr https://habr.com/companies/dododev/
Вакансии https://dodoteam.ru/vacancies/
Download Telegram
Минутка новостей от команды маркетплейса — мы открыты для всех!

Теперь узнать, что там и как, может каждый, а не только лишь человек с учёткой в Dodo IS. Заходите на маркетплейс, смотрите, вдохновляйтесь, пишите свои приложения и предлагайте их нашим партнёрам!

Это могут быть кастомизированные табло мотивации, виджеты для менеджеров смен, интеграции со сканерами отпечатков пальцев и сетчатки глаза, беспилотная доставка — в общем всё, что может улучшить управление QSR-бизнесом.

Вы можете создавать платные приложения, условно бесплатные (с механизмом встроенных покупок) или полностью бесплатные, но с платной поддержкой.

С нас — открытый API, все инструменты для быстрого старта разработки, продуктовая экспертиза и доступ к нашим партнёрам и бизнесу. С вас — решения, которые сделают нашу систему ещё лучше.

Если у вас есть идеи и pet-проекты, пишите нам на marketplace@dodois.io — отвечаем всем!
🔥1354
Надёжность — это не один раз и навсегда

Одна из задач СТО — объяснить бизнесу важность поддержки системы, её отказоустойчивости. На какие метрики опираться, какими понятиями оперировать? Как быть убедительным, чтобы тебя услышали? И как вообще определить уровень критичности сервисов, если это неочевидно?

Об этом Паша рассказал Андрею Дмитриеву, ведущему «503 Подкаст». В конце поделился вредными советами, как сделать ненадёжную систему. Но обойдёмся без спойлеров, лучше слушайте сами. И пусть у вас всё будет хорошо с отказоустойчивостью!

🎙 Где послушать:

Web
Apple Podcasts
Google Podcasts
Яндекс.Музыка
7
Forwarded from 99developers (Alex Andronov)
Я больше не CEO Dodo Engineering.

С 2017 года, когда я присоединился к Додо мы вырастили команду с 35 до 250+ человек. С командой мы за 6 лет превратили Dodo IS в инструмент, который позволяет масштабировать бизнес в разных странах и на разные бренды. Запустили мобильные приложения, приложение курьеров, сделали данные доступными через дата-платформу для запуска ML моделей, а так же аналитики и отчетов, запустили SRE и 24/7 дежурства, упростили локализацию и адаптацию системы под новую страну (налоги, требования по продаже еды, эквайринги и принтеры) с помощью плагинной системы, с таким же подходом кастомизировали трекинг, создали структуру глобальных и рыночных команд для скорости, работающую по inner source подходу, запустили Marketplace для сторонних расширений. И кучу всего еще.

В 2017 году про нас знали как про сеть пиццерий и на нашу вакансию разработчика обычно реагировали так: “разработчик в пиццерии?? 1С чтоли настраивать???”. В 2022м мы вошли в ТОП-10 в рейтинге IT-брендов работодателей.

Что такой мой главный продукт – Dodo IS?
Dodo IS – платформа (ключевое слово) для управления ресторанами, работает в 900+ точках в 17 странах, в режиме 24/7. В пиковое время через систему проходит 760 заказов в минуту.

Немного цифр про Dodo IS и IT вообще
• 17 стран (Китай, Эстония, Великобритания, Киргизия, Казахстан, Литва, Россия, Румыния, Узбекистан, Белоруссия, Словения, Нигерия, Германия, Вьетнам, Польша, Таджикистан, ОАЭ);
• 900+ пиццерий, 12 кофеен, 8 донерных;
• 35K+ сотрудников работает во всей сети;
• 600+ сотрудников в Dodo Brands, из них 250+ человек в Dodo Engineering;
• 22+ млн клиентов, 3,5 млн MAU;
• Выручка сети за 2022: $830M+
• 350 заказов в минуту в будни, 510 заказов в минуту в выходные, 760 заказов в минуту — зафиксированный максимум 8 марта 2023 worldwide и 679 заказов в минуту в RU.

В 2017, когда мы падали каждую среду, не могли построить средних размеров отчет, не имели ни приложения для курьеров и даже для клиентов, особо не умели поддерживать много стран, даже представить себе не мог к чему мы придем в 2023. Сейчас, когда я смотрю на это “со стороны”, у меня проскальзывает только одно чувство – чувство гордости и безмерного уважения команде, с которой я работал!

Что дальше?
Увидим 🙂
🔥3619😢13👍3🏆2
Продолжаем раскрывать тему надёжности вместе с Пашей Притчиным, но уже на английском.

Рассказываем о том, как определяем SLO, как устроен процесс on-call и делимся шаблоном постмортема.

Читайте на dev.to или Medium.

А ещё у нас появился красивый профиль на LinkedIn — будем рады общению и там!
👍8
Forwarded from Рубанов про мобилу (Михаил Рубанов)
Управление, интерфейсы и доступность в Apple Vision Pro

На прошлой неделе Apple показала свои очки и удивила управлением. Внешних контроллеров нет, все управляется взглядом и жестами рук, интерфейсы стали размещаться в дополненной реальности. Очки дают много источников информации, принимают много сигналов для управления.

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

Читать
🔥41
Открытый курс по Rust от DotNetRu, в глубину и с практикой

Если вы —  .NET-разработчик и присматриваетесь к Rust, у нас есть для вас хорошая новость. Ребята из DotNetRu запустили увлекательно-познавательный курс по Rust, увлекательно-познавательный

Его ведут Александр Кугушев, Иван Крючков и Антон Оникийчук. На лекциях разбирают, зачем и как изучать Rust .NET-разработчикам, синтаксические конструкции, управление памятью, решают задачки.

В плейлисте уже 6 лекций, а лайв-стримы проходят раз в две недели по четвергам.

Анонсы публикуются в канале сообщества — подписывайтесь, чтобы не пропустить!
👍10🔥1
Гайд по внедрению Allure TestOps, чтобы тестировать .NET-проекты

Евгений Иванченко, наш QA-инженер, поделился опытом интеграции Allure TestOps и написал пошагавшую инструкцию, как это осуществить.

Читайте и сохраняйте, если вы тоже хотите иметь единое место для отчётов о прогоне, перестать писать ручные тест-рейсы и собирать метрики автоматически.

А ещё Женя — автор канала «QAжется, работает!». Там он рассказывал об изменениях, которые мы сделали в опенсорсном Allure.
7
Не любите телеграм-ботов? Вы просто не умеете их готовить!

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

В маркетплейсе Dodo IS есть 2 бота: один уведомляет управляющих пиццерий о стопах, тикетах и днях рождениях, второй присылает отчёты и аналитику. Их функциональность надо было упаковать таким образом, чтобы взаимодействовать с ними было легко и просто.

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

💻 В процессе модерации мы учли все эти моменты и написали руководство по UX для телеграм-ботов. Если вы делаете своего бота, эти советы могут пригодиться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13
Forwarded from QAжется, работает! (Gaya Dovgal)
Когда речь идёт о написании своих нагрузочных сценариев «поверх» JMeter, есть десятки способов выстрелить себе в ногу. Самый верный способ это заметить — качественно измерять то, что мы делаем.

На осенней конференции Heisenbug Дима Тучс рассказал о работе с памятью в Java, о многопоточности и тред-пулах и даже о такой банальной теме, как парсинг JSON. А ещё о том, почему и как всё это пришлось переписать, чтобы нагрузить бэкенд Dodo IS втрое выше. 💻

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

P.S. Спасибо организаторам за то, что поделились записью с нашими подписчиками. Кстати, если у вас есть что рассказать на Heisenbug этой осенью — самое время отправить заявку на выступление.
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍1
Собираем неравнодушных QA инженеров и не только на ламповые посиделки в арт-коворкинге Санкт-Петербурга.

💻 Ярослава Рощина (Dodo Engineering) расскажет, как в её команде удалось сократить время разработки фич.

🛠 Татьяна Березенцева (СберКорус) проведёт мастер-класс по запуску автоматизации API на проекте.

🗓 19 июля, начало в 19:00

Офлайн, Санкт-Петербург, участие бесплатное.

Регистрируйтесь и приходите, если будете в это время в городе.

До встречи!
Please open Telegram to view this post
VIEW IN TELEGRAM
122
💻 Компьютерное зрение на страже стандартов качества пиццы

Представляете, когда-то нашей команде контроля качества приходилось измерять линейкой кусочки пиццы на фото, чтобы определить равномерность нарезки. Линейкой, Карл!

Пару лет назад всё сильно изменилось — мы стали определять дефекты с помощью компьютерного зрения. С тех пор мы обучили модели не только определять белое дно и горелый борт (об этом можно почитать на Хабре), но и:
— вид пиццы,
— количество витков соуса,
— ширину борта,
— равномерность нарезки кусочков,
— срок годности на маркировках.

И уже экономим 30% времени команды, которое тратится на проверку отчётов клиентов. Круто же!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍21
Сегодня проходит ежегодный Съезд Dodo, на котором впервые выступит новый CEO Dodo Engineering Арсений Васильев.

Арсений — кофаундер проекта «Где Шаверма», в Dodo Brands он отвечал за развитие стартапа Донер 42, пару лет спустя — концепции Дринкит.

Приглашаем присоединиться к трансляции в 17:30 и послушать о трансформации, которая ждёт IT в Dodo.

Запись должна быть доступна по той же ссылке.
🔥91
Новая команда и новая вакансия Head of ML

Команда дата-инженеров в Dodo появилась несколько лет назад, когда нужно было разработать проект автоматического заказа для команды Supply Chain. После реализации мы осознали, что можем создавать не только сложные ML-модели, но и решить проблемы базовой аналитики в Dodo IS.

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

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

Поэтому мы решились организовать полноценный Data Office с 3 направлениями: Data Engineering, Analytics и ML.Core. Первые два уже есть, а третье мы только собираем и ищем лидера, который его возглавит. Такого человека, который не побоится предлагать самые разные идеи и будет видеть бизнес-процессы, начиная от производства продуктов на кухне до улучшения мобильных приложений. Который когда-то сам разрабатывал ML-модели, погрузился в менеджмент и умеет внедрять изменения.

Перед нами стоит много вызовов: от использования простых моделей до внедрения Deep Learing и State-of-the-Art — диапазон задач и их сложность огромная!

Если чувствуешь, что знаешь такого человека или сам подходишь под наше видение лидера команды — посмотри полное описание вакансии и напиши Полине. Будем рады пообщаться!
🔥7👍1
13 базовых понятий, которые нужно знать аналитику или ML-инженеру

по версии Андрея Филипьева, CDO Dodo Engineering

Важно не просто знать, о чём идёт речь, но понимать как применять это в реальных задачах. Если есть ещё примеры на эти пункты, объяснение проблем и как их решали — это топ!

1. Случайная величина
2. Математическое ожидание (статья выше)
3. Закон больших чисел
4. Распределение
5. Нормальное распределение
6. Центральные предельные теоремы и причем тут нормальное распределение
7. Квантили (перцентили)
8. Доверительный интервал. Конкретные задачи.
9. Оценка стат. значимости
10. p-value
11. Смещение и дисперсия (bias and variance)
12. A Deeper look at Mean Squared Error — Count Bayesie
13. Нормализация и стандартизация


Есть вещи и посложнее, конечно — полный список того, о чём обычно Андрей спрашивает кандидатов, можно подглядеть у него в канале.
🔥6👍1
Как добавить возможности Chat GPT в ваше приложение

Последние пару месяцев мы работали над тем, чтобы расширить функциональность мобильного приложения Додо Пиццы: дать возможность заказывать пиццу через чат с помощью AI-помощника и создавать уникальные рецепты пиццы на основе настроения и вкусовых предпочтений.

Когда мы начали создавать эту систему, у нас возникло множество вопросов. И если вы новичок в работе с GPT-моделями, у вам тоже может быть непонятно, как интегрировать помощника AI в приложение, как использовать API Open AI, какие сложности могут возникнуть и как их решать.

💻 Ответами на подобные вопросы делится Константин Полонский в своей статье — заходите на Medium почитать (статья на английском), задавайте вопросы и делитесь своим опытом!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍1
Мы планировали-планировали и напланировали

Спланировать работу бизнеса на год или на квартал, да ещё и так, чтобы планы были реальными и выполнялись— задачка со звёздочкой.

Мы в Dodo используем методологию OKR (Objectives&Key Results) — она позволяет синхронизироваться всем юнитам и избежать ситуации «а вот это мы не учли» или когда бизнес приносит в IT задачи без понимания сроков и сложности.

За организацию и фасилитацию отвечают People&Process лидеры (PPL): они создают чат, в котором собирают всех участников стратсессии, лидеров, расписывают все этапы и фиксируют договорённости.

Сегодня хотим поделиться статьей Ярославы Рощиной, в которой она на примере годового планирования одного нашего крупного юнита рассказала, как устроен процесс с точки зрения фасилитатора. В конце статьи вы найдёте чек-лист для проведения успешного планирования — штука полезная, особенно для начинающих скрам-мастеров и аджайл-коучей.
10🔥61
Деврел — не человек, или Всем мы немножко деврел

Деврел — штука непонятная, окруженная мифами и легендами. Наши зарубежные коллеги вроде бы с этим разобрались и даже умных книжек написали, но деврел в русскоязычном пространстве всё ещё продолжает быть загадочным и непостижимым для многих.

💻 Вероника Ильина, наша Head of Devrel, собрала 14 утверждений про деврел и разобралась, что правда, а что ложь — и сделала это в лучших традициях «Разрушителей Мифов».

Читать 10 минут

🤨 Бонус в конце статьи — чек-лист для тех, кто хочет деврельской движухи в своей компании, но есть вопросик.
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥4👏1
Kodein для Android

Говорят (с), что Android-разработчики обожают DI. Мы не проверяли, но заметили, что про Kodein почему-то мало рассказывают и пишут. Максим Качинкин решил, что эту несправедливость надо исправлять, тем более что Kodein активно развивался последние пару лет. А ещё мы используем его в приложении Drinkit и успели оценить его преимущества (недостатки, впрочем, тоже).

Cначала Макс рассказал про Kodein на Mobius, но в один доклад не поместилось всё, чем он хотел поделиться, — и вот уже про Kodein для Android есть его статья на Хабре.

Тут надо сказать, что в одной статье все стороны тоже не вышло затронуть, в итоге публикаций будет несколько — поэтому подписывайтесь на наш блог или лично Макса, чтобы не пропустить следующие.
5👍2
🏠 Один из принципов Dodo — это владение. Он про отношение к продукту, команде, компании как к своим. Владеть — это не только привилегия, но и ответственность. Всё как в обычной жизни: купил хороший дом — следи за ним, вовремя чини крышу, стриги газон и крась каждую весну, иначе дом превратится в развалюху и все радости обладания им исчезнут.

Этот принцип лежит в основе нашей культуры. Он же применяется и к сервисам.

💻 Наш СТО Павел Притчин сформулировал принципы владения сервисами, которые помогают компании и командам лучше с этим работать.

1. Нужен надёжный учёт владения. Каждое изменение должно быть зафиксировано, информация должна быть актуальной и доступной в любой момент. Это могут быть единый реестр сервисов, таблица, структура копании. Они должны находиться не в разных местах, а в каком-то одном, чтобы не приходилось долго искать.

2. Должно быть описание роли владельца, его обязанностей. Например, что человек должен делать как владелец сервиса, на какие алерты и как реагировать.

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

4. Должен быть хороший вижен и стратегия развития: как будет меняться в будущем функциональность, архитектура, инструменты. Понимание, куда развивать сервис, помогает распределять внимание. Фокус будет уходить на важные вещи, а неважные могут и подождать. Также это помогает владельцу и всем, кто хочет законтрибьютить в сервис, лучше понять, что можно, а что нельзя делать.

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

Некоторые пункты из этого списка у нас уже есть (например, карта раскатки фич), некоторые только появляются (реестр сервисов).

Интересно узнать, как вы понимаете «владение», как этот принцип проявляется в вашей работе — поделитесь в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥3👍2👌1
1. Поддерживать и реагировать на сбои сервиса в соответствии с его уровнем (SLO).

2. Выполнять технические эпики по сервису несколько раз в год.

3. Исправлять критические баги и баги, связанные с безопасностью.

4. Контролировать качество при контрибьюшене от других команд.

5. Поддерживать сервис, чтобы он обеспечивал более 80% пунктов по НФТ, проверять актуальность каждые полгода.

6. Создавать и развивать правила контрибьюешена в сервис от других команд.

7. Выполнять задачи по техдолгу минимум пару раз в квартал.

Что ещё вы бы добавили в этот список?
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
Кое-что интересное ждёт нас 7 сентября на канале Android Broadcast: в прямом эфире пройдёт собеседование Android-разработчика в продуктовую команду.

Интервьюировать будет Максим Качинкин, наш Android Tech Lead и ведущий канала Мобильное чтиво.

Собеседование продлится полтора часа и состоит из 5 секций: знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.

Требования к кандидату:
☑️ опыт разработки под Android от 2-х лет (ваше приложение или отдельные фичи работают в продакшене);
☑️ уверенные знания Android Framework, системы Android View, опционально Compose;
☑️ знания современной архитектуры Android-приложений (слоистая/чистая архитектуры), MVx-паттерны.

👉 Если хотите попробовать свои силы и стать кандидатом — подавайте заявку.

А если вам просто посмотреть — поставьте напоминание на Ютубе.
🔥125👍1