Новая команда и новая вакансия 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 — диапазон задач и их сложность огромная!
Если чувствуешь, что знаешь такого человека или сам подходишь под наше видение лидера команды — посмотри полное описание вакансии и напиши Полине. Будем рады пообщаться!
Команда дата-инженеров в 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. Нормализация и стандартизация
Есть вещи и посложнее, конечно — полный список того, о чём обычно Андрей спрашивает кандидатов, можно подглядеть у него в канале.
по версии Андрея Филипьева, 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 почитать (статья на английском), задавайте вопросы и делитесь своим опытом!
Последние пару месяцев мы работали над тем, чтобы расширить функциональность мобильного приложения Додо Пиццы: дать возможность заказывать пиццу через чат с помощью AI-помощника и создавать уникальные рецепты пиццы на основе настроения и вкусовых предпочтений.
Когда мы начали создавать эту систему, у нас возникло множество вопросов. И если вы новичок в работе с GPT-моделями, у вам тоже может быть непонятно, как интегрировать помощника AI в приложение, как использовать API Open AI, какие сложности могут возникнуть и как их решать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
How to add Chat GPT capabilities to your app?
AI can truly enhance your app’s functionality. In this article, I’ll guide you on how to integrate an AI assistant into your app. Along the…
🔥4❤1👍1
Мы планировали-планировали и напланировали
Спланировать работу бизнеса на год или на квартал, да ещё и так, чтобы планы были реальными и выполнялись— задачка со звёздочкой.
Мы в Dodo используем методологию OKR (Objectives&Key Results) — она позволяет синхронизироваться всем юнитам и избежать ситуации «а вот это мы не учли» или когда бизнес приносит в IT задачи без понимания сроков и сложности.
За организацию и фасилитацию отвечают People&Process лидеры (PPL): они создают чат, в котором собирают всех участников стратсессии, лидеров, расписывают все этапы и фиксируют договорённости.
Сегодня хотим поделиться статьей Ярославы Рощиной, в которой она на примере годового планирования одного нашего крупного юнита рассказала, как устроен процесс с точки зрения фасилитатора. В конце статьи вы найдёте чек-лист для проведения успешного планирования — штука полезная, особенно для начинающих скрам-мастеров и аджайл-коучей.
Спланировать работу бизнеса на год или на квартал, да ещё и так, чтобы планы были реальными и выполнялись— задачка со звёздочкой.
Мы в Dodo используем методологию OKR (Objectives&Key Results) — она позволяет синхронизироваться всем юнитам и избежать ситуации «а вот это мы не учли» или когда бизнес приносит в IT задачи без понимания сроков и сложности.
За организацию и фасилитацию отвечают People&Process лидеры (PPL): они создают чат, в котором собирают всех участников стратсессии, лидеров, расписывают все этапы и фиксируют договорённости.
Сегодня хотим поделиться статьей Ярославы Рощиной, в которой она на примере годового планирования одного нашего крупного юнита рассказала, как устроен процесс с точки зрения фасилитатора. В конце статьи вы найдёте чек-лист для проведения успешного планирования — штука полезная, особенно для начинающих скрам-мастеров и аджайл-коучей.
vc.ru
Как спланировать работу бизнеса на 10+ команд — Личный опыт на vc.ru
В статье расскажу, как синхронизация с помощью OKR помогает бизнесу, IT и другим отделам понимать друг друга и не разочаровываться, а также покажу некоторые артефакты с онлайн-встреч.
❤10🔥6⚡1
Деврел — не человек, или Всем мы немножко деврел
Деврел — штука непонятная, окруженная мифами и легендами. Наши зарубежные коллеги вроде бы с этим разобрались и даже умных книжек написали, но деврел в русскоязычном пространстве всё ещё продолжает быть загадочным и непостижимым для многих.
💻 Вероника Ильина, наша Head of Devrel, собрала 14 утверждений про деврел и разобралась, что правда, а что ложь — и сделала это в лучших традициях «Разрушителей Мифов».
Читать 10 минут
🤨 Бонус в конце статьи — чек-лист для тех, кто хочет деврельской движухи в своей компании, но есть вопросик.
Деврел — штука непонятная, окруженная мифами и легендами. Наши зарубежные коллеги вроде бы с этим разобрались и даже умных книжек написали, но деврел в русскоязычном пространстве всё ещё продолжает быть загадочным и непостижимым для многих.
Читать 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 есть его статья на Хабре.
Тут надо сказать, что в одной статье все стороны тоже не вышло затронуть, в итоге публикаций будет несколько — поэтому подписывайтесь на наш блог или лично Макса, чтобы не пропустить следующие.
Говорят (с), что Android-разработчики обожают DI. Мы не проверяли, но заметили, что про Kodein почему-то мало рассказывают и пишут. Максим Качинкин решил, что эту несправедливость надо исправлять, тем более что Kodein активно развивался последние пару лет. А ещё мы используем его в приложении Drinkit и успели оценить его преимущества (недостатки, впрочем, тоже).
Cначала Макс рассказал про Kodein на Mobius, но в один доклад не поместилось всё, чем он хотел поделиться, — и вот уже про Kodein для Android есть его статья на Хабре.
Тут надо сказать, что в одной статье все стороны тоже не вышло затронуть, в итоге публикаций будет несколько — поэтому подписывайтесь на наш блог или лично Макса, чтобы не пропустить следующие.
Хабр
Kodein DI для Android. Основы API
Android разработчики обожают DI. Куда ни посмотри, куча статей и выступлений про Dagger 2, Hilt или Koin, но очень мало про Kodein. Даже на Хабре всего пару неплохих статей, но и те от 2018 года. Но с...
❤5👍2
Этот принцип лежит в основе нашей культуры. Он же применяется и к сервисам.
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. Выполнять задачи по техдолгу минимум пару раз в квартал.
Что ещё вы бы добавили в этот список?
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-паттерны.
👉 Если хотите попробовать свои силы и стать кандидатом — подавайте заявку.
А если вам просто посмотреть — поставьте напоминание на Ютубе.
Интервьюировать будет Максим Качинкин, наш Android Tech Lead и ведущий канала Мобильное чтиво.
Собеседование продлится полтора часа и состоит из 5 секций: знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.
Требования к кандидату:
☑️ опыт разработки под Android от 2-х лет (ваше приложение или отдельные фичи работают в продакшене);
☑️ уверенные знания Android Framework, системы Android View, опционально Compose;
☑️ знания современной архитектуры Android-приложений (слоистая/чистая архитектуры), MVx-паттерны.
👉 Если хотите попробовать свои силы и стать кандидатом — подавайте заявку.
А если вам просто посмотреть — поставьте напоминание на Ютубе.
🔥12❤5👍1
Forwarded from Android Broadcast (Кирилл Розов)
🔴 Cобеседование Android-разработчика. Максим Качинкин, Dodo Engineering
Сегодня, 7 сентября в 19:00 (GMT+3) пройдет собеседование на позицию «Android-разработчика в продуктовую команду» в прямом эфире у Максима Качинкина, Android Tech Lead в Dodo Engineering.
Собеседование пройдет в формате, состоящем из 5 секций (1.5 часа): знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.
#AndroidBroadcast #собеседование
Сегодня, 7 сентября в 19:00 (GMT+3) пройдет собеседование на позицию «Android-разработчика в продуктовую команду» в прямом эфире у Максима Качинкина, Android Tech Lead в Dodo Engineering.
Собеседование пройдет в формате, состоящем из 5 секций (1.5 часа): знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.
#AndroidBroadcast #собеседование
🔥9
Короткий пятничный фоторепортаж с DevOpsDays Almaty.
Павел Притчин рассказывает, как мы организовали систему дежурств, чтобы разработчики дежурили по своим сервисам в рабочее и нерабочее время.
Ставьте➕ под постом, если хотите почитать расшифровку доклада.
Павел Притчин рассказывает, как мы организовали систему дежурств, чтобы разработчики дежурили по своим сервисам в рабочее и нерабочее время.
Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👌2👨💻1
Шейдеры в iOS 17 для начинающих
Шейдер — это программа для видеокарты, которая считается для каждого пикселя по отдельности. Миллионы раз за кадр и миллиарды раз в секунду! На выходе получаются классные эффекты, например перелистывание страниц в iBooks. Но есть одна проблема — код шейдеров радикально отличается от того, которым iOS-разработчики обычно красят кнопки.
В iOS 17 Apple сильно упростила написание шейдеров — теперь название функции достаточно указать модификатором к любой View в SwiftUI. Самое время поднять тему и понять, что это за шейдеры такие.
В первой статье вместе с Мишей Рубановым разбираемся в теме, базовых функциях и тренируем шейдерную насмотренность. А уже в следующей разберём по шагам сложные примеры.
Шейдер — это программа для видеокарты, которая считается для каждого пикселя по отдельности. Миллионы раз за кадр и миллиарды раз в секунду! На выходе получаются классные эффекты, например перелистывание страниц в iBooks. Но есть одна проблема — код шейдеров радикально отличается от того, которым iOS-разработчики обычно красят кнопки.
В iOS 17 Apple сильно упростила написание шейдеров — теперь название функции достаточно указать модификатором к любой View в SwiftUI. Самое время поднять тему и понять, что это за шейдеры такие.
В первой статье вместе с Мишей Рубановым разбираемся в теме, базовых функциях и тренируем шейдерную насмотренность. А уже в следующей разберём по шагам сложные примеры.
Хабр
Шейдеры в iOS для начинающих
В мобильной разработке мы постоянно имеем дело с векторной графикой: ячейки — прямоугольные, аватарки — круглые, текст — это векторные формы. В пиксели это всё превращается как-то само. Но есть ещё и...
❤4👍4👎1
Выход Dodo Brands на международный рынок и цель стать глобальной компанией сильно повлияли на то, какой стала Dodo IS. Система, которая долгое время работала одинаково для ресторанов в одной стране, превращается в платформу, становится удобной для интеграций с продуктами внешних разработчиков, в ней появляются специфичные для разных стран сценарии и фичи.
О том, как мы готовимся к открытиям в новых странах, какие очевидные и не очень локальные особенности нужно учитывать и как наладить процесс управления знаниями расскажет Дмитрий Павлов на конференции SmartDev.
Подключайтесь к онлайн-трансляции 21 сентября, в 16:45 — участие бесплатное, но нужно зарегистрироваться.
О том, как мы готовимся к открытиям в новых странах, какие очевидные и не очень локальные особенности нужно учитывать и как наладить процесс управления знаниями расскажет Дмитрий Павлов на конференции SmartDev.
Подключайтесь к онлайн-трансляции 21 сентября, в 16:45 — участие бесплатное, но нужно зарегистрироваться.
🔥12👍1
Как увеличить мощность A/B-теста, если мало данных и время поджимает
Одно из наших исследований показало, что пользователи, которые дают доступ к геолокации, чаще совершают заказы в приложении Додо Пиццы.
Мы решили проверить, можем ли мы нарастить долю таких пользователей, и запустили A/B-тест. К моменту, когда нужно было проводить анализ, оказалось, что данных мало, да ещё и часть из них оказалась пришлось выбросить в мусорку.
Но время поджимало, все ждали результатов, и тогда Анастасия Соколова, наш продуктовый аналитик, использовала свои «секретные техники» по анализу A/B-тестов.
В статье она рассказывает, ей удалось увеличить выборку без бутстрапа и что мы выяснили после теста.
Читать 6 минут
Одно из наших исследований показало, что пользователи, которые дают доступ к геолокации, чаще совершают заказы в приложении Додо Пиццы.
Мы решили проверить, можем ли мы нарастить долю таких пользователей, и запустили A/B-тест. К моменту, когда нужно было проводить анализ, оказалось, что данных мало, да ещё и часть из них оказалась пришлось выбросить в мусорку.
Но время поджимало, все ждали результатов, и тогда Анастасия Соколова, наш продуктовый аналитик, использовала свои «секретные техники» по анализу A/B-тестов.
В статье она рассказывает, ей удалось увеличить выборку без бутстрапа и что мы выяснили после теста.
Читать 6 минут
👍8👏2❤1
CD-диск и NameDrop
Вторая статья про шейдеры в SwiftUI уже вышла!
Вместе с Мишей Рубановым разбираемся, как создаются сложные и красивые эффекты: блеск СД-диска и анимация NameDrop из iOS 17.
Читать всем, кто хочет научиться создавать приложения, интерфейс которых способен удивлять.
И напоминалочка, что новичкам лучше начать с первой статьи — в ней раскрываются базовые принципы работы с шейдерами.
Вторая статья про шейдеры в SwiftUI уже вышла!
Вместе с Мишей Рубановым разбираемся, как создаются сложные и красивые эффекты: блеск СД-диска и анимация NameDrop из iOS 17.
Читать всем, кто хочет научиться создавать приложения, интерфейс которых способен удивлять.
И напоминалочка, что новичкам лучше начать с первой статьи — в ней раскрываются базовые принципы работы с шейдерами.
Хабр
CD-диск на шейдерах и NameDrop в iOS 17
Шейдеры отлично подходят для симуляции материалов. В обычных интерфейсах мы управляем только цветом, но эффекты могут быть революционными. Например, блюр в iOS изменил многие мобильные интерфейсы и...
🔥5👏3