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

Habr https://habr.com/companies/dododev/
Вакансии https://dodoteam.ru/vacancies/
Download Telegram
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
Новый учебный год — новый рекорд заказов в минуту!

Два последних месяца мы готовили Dodo IS к этому дню, учитывали опыт прошлых падений, обнаруживали и исправляли ошибки на стороне сервисов, нагрузочного тестирования и инфраструтуры.

Спасибо всем командам за отличную работу!
22🔥11
Начинаем через час, в 19:00!
Forwarded from Android Broadcast (Кирилл Розов)
🔴 Cобеседование Android-разработчика. Максим Качинкин, Dodo Engineering

Сегодня, 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. Самое время поднять тему и понять, что это за шейдеры такие.

В первой статье вместе с Мишей Рубановым разбираемся в теме, базовых функциях и тренируем шейдерную насмотренность. А уже в следующей разберём по шагам сложные примеры.
4👍4👎1
Выход Dodo Brands на международный рынок и цель стать глобальной компанией сильно повлияли на то, какой стала Dodo IS. Система, которая долгое время работала одинаково для ресторанов в одной стране, превращается в платформу, становится удобной для интеграций с продуктами внешних разработчиков, в ней появляются специфичные для разных стран сценарии и фичи.

О том, как мы готовимся к открытиям в новых странах, какие очевидные и не очень локальные особенности нужно учитывать и как наладить процесс управления знаниями расскажет Дмитрий Павлов на конференции SmartDev.

Подключайтесь к онлайн-трансляции 21 сентября, в 16:45 — участие бесплатное, но нужно зарегистрироваться.
🔥12👍1
Как увеличить мощность A/B-теста, если мало данных и время поджимает

Одно из наших исследований показало, что пользователи, которые дают доступ к геолокации, чаще совершают заказы в приложении Додо Пиццы.

Мы решили проверить, можем ли мы нарастить долю таких пользователей, и запустили A/B-тест. К моменту, когда нужно было проводить анализ, оказалось, что данных мало, да ещё и часть из них оказалась пришлось выбросить в мусорку.

Но время поджимало, все ждали результатов, и тогда Анастасия Соколова, наш продуктовый аналитик, использовала свои «секретные техники» по анализу A/B-тестов.

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

Читать 6 минут
👍8👏21
😁12🔥4👏4
CD-диск и NameDrop

Вторая статья про шейдеры в SwiftUI уже вышла!

Вместе с Мишей Рубановым разбираемся, как создаются сложные и красивые эффекты: блеск СД-диска и анимация NameDrop из iOS 17.

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

И напоминалочка, что новичкам лучше начать с первой статьи — в ней раскрываются базовые принципы работы с шейдерами.
🔥5👏3
Закрываем неделю подборкой горящих вакансий от нашей команды!

💻 Product Owner Data Platform
Ищем продакта в команду Data Platform. Цель платформы – сделать так, чтобы опираясь на данные и аналитику, команды разработки создавали прорывные продукты, внедряли инновации и постоянно развивались.

🍕 Product Owner Digital Pizza Experience
Ищем продакта в команду Digital Pizza Experience, которая отвечает за глобальные приложения и сайт Додо Пицца. Развиваем функционал – например, запускаем определение адреса по геолокации, а также развиваем центр экспертизы клиентского опыта: настраиваем процесс работы с гипотезами и запускаем исследования пользователей.

🧙 Data Analytic в IMF
Ищем data-аналитика в команду International Master-Franchising. Команда развивает концепции Dodo Brands по всему миру, за следующие три года вместе с нашими партнерами-франчайзи планируем вырасти с 30 до 140 точек в разных странах.
🔥61👍1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥12
Делимся статьей техлида команды Anroid Максима Качинкина. Сегодня рассказываем, как мы применяем DI Kodein в Kotlin Multiplatform и Jetpack Compose в проекте Дринкит.

Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Мы в проекте Дринкит тоже активно переходим на Jetpack Compose (с KMP пока не сделали подход). Ну и как же жить со всем этим без DI? Правильно, никак. Поэтому в этой статье расскажем, как применять DI Kodein в Kotlin Multiplatform и Jetpack Compose. Кстати, это вторая статья из цикла статьей про Kodein DI для Android (ссылка на первую есть в конце статьи).

Время на чтение 👉15 минут
11🔥1👏1
Forwarded from QAжется, работает! (Evgeniy)
Пока пишется следующий пост, можно почитать мою свеженаписанную статью на dev.to про соотношение разработчиков и тестировщиков, поставить лайки и обсудить в коментариях что еще влияет на соотношение, либо что из перечисленного не влияет
Ну и ставьте 🙏 под постом, если нужно эту статью опубликовать на русском
https://dev.to/dodoengineering/how-many-testers-should-ensure-dodo-is-high-quality-2iop
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👏2🙏2
Начинаем неделю с новой статьи от нашего android-разработчика Димы Максимова.

Вы задумывались о том, как качать цифровой опыт пользователей не только развивая функциональность и удобство интерфейса, но и создавая классные эмоции? Мы – да, и кажется, у нас это получается.

Рассказали про наш опыт c Compose в редизайне приложения Drinkit, время на чтение 👉 10 минут.
5🔥3👏3