Как стать автором
Обновить
Dodo Engineering
О том, как разработчики строят IT в Dodo
Сначала показывать

Как мы на 20% повысили скорость запуска приложения с помощью Baseline Profiles

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 620
Блог компании Dodo Engineering Разработка мобильных приложений *Разработка под Android *
Кейс

На конференции Google I/O 2022 показали инструмент Baseline Profiles, с помощью которого можно ускорить запуск приложений после установки. Мы попробовали его у себя и получили прирост до 20% при холодном запуске приложения!

В этой статье расскажу, как внедрить инструмент, оценить его работу на production приложении, немного погружу в историю компиляторов в целом и рассмотрю более продвинутые сценарии для генерации Profile.

Демонстрировать это я буду на нашем приложении Дринкит.

Поехали!
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 8

Нельзя просто взять и сделать нормальную адресную систему в приложении

Время на прочтение 8 мин
Количество просмотров 3K
Блог компании Dodo Engineering Разработка под iOS *Разработка мобильных приложений *
Кейс

Олды помнят, как ещё каких-то 10-15 лет назад заказывали пиццу по телефону, диктуя адрес операторам кол-центра. Мало кто тогда думал, что отсутствие подсказок адресов и карты на сайте с определением геолокации, а уж тем более в мобильном приложении, будет вызывать у нас реакцию «да сложно, что ли, нормальную карту сделать?».

Но вот мы здесь, рассказываем, как в Додо Пицце лишь недавно появилась уже привычная многим адресная система. Как так вышло — история долгая и не всем интересная. Скажу только, что переделывать и менять как-то работающее старое на новое в большой системе — тот ещё квест. В итоге нам пришлось зарыться достаточно глубоко во внутренности Dodo IS, чтобы можно было добавлять адреса с помощью карты. В этой статье расскажу, с чего мы начинали и как реализовали эту фичу в нашем iOS-приложении.

Читать далее
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 4

Как учиться учиться и для чего интровертам телеграм-канал

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 6.9K
Блог компании Dodo Engineering Учебный процесс в IT
Туториал

«Лучший способ в чём-то разобраться до конца — это попробовать научить этому компьютер». Дональд Кнут (как минимум викицитатник говорит, что он так сказал).

Год назад я осознал, что моё развитие как инженера застопорилось. Не то, чтобы я перестал изучать что-то новое, скорее, страдал от отсутствия системности. Не было понятно, что изучать дальше, что уже получилось изучить и что из изученного я смог для себя извлечь. Поэтому я решил как-то осмыслить процесс самообучения и за год привёл его к системе, которая мне довольно сильно помогает.

Для тех, кто, как и я, испытывал похожие проблемы, я решил поделиться своим методом.

Читать далее
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 7

Как помочь своему лиду не наломать дров

Время на прочтение 12 мин
Количество просмотров 4.4K
Блог компании Dodo Engineering Управление разработкой *Управление персоналом *Карьера в IT-индустрии

Всем привет, меня зовут Вероника, я Head of DevRel в Dodo Engineering. Я работаю с людьми в IT уже больше 7 лет и за эти годы насмотрелась на мириады Больших Менеджерских Ошибок (БМО, далее по тексту заменяется на «факапы») менеджеров во всех ипостасях: новичков, суперопытных, директоров, нанимающих, увольняющих, увольняющихся… Конечно, наошибалась и сама. На собственной шкуре знаю, что многие менеджерские факапы можно предотвратить в зачатке. И наблюдала, как команды спасают своих лидов от ошибок.

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

Разбираем на утках 9 ситуаций из жизни
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 0

3 примера, в которых доступность помогла заработать денег, подсветить ошибки и решить споры

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 3.8K
Блог компании Dodo Engineering Разработка под iOS *Разработка мобильных приложений *Дизайн мобильных приложений *Дизайн
Кейс

Первое, что люди спрашивают про доступность: а может ли она принести денег, ведь там немного пользователей? Популярное искажение в том, что они выделяют одну группу (ну сколько там незрячих на миллион?) и не оценивают картину в целом (45% на iOS и 59% на Android включают хотя бы одну настройку доступности).

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

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

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 8

Обновляю ссылку один месяц, или Лёгких задач не бывает

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3.7K
Блог компании Dodo Engineering Разработка под iOS *Тестирование мобильных приложений *
Репортаж

История о том, почему «обновить ссылку» — задача для техлида: тут и про тесты, и про вёрстку, и про архитектуры процессоров.

Бульварное чтиво из 15+1 мемов
Всего голосов 41: ↑39 и ↓2 +37
Комментарии 13

Как мы приложение Додо Пиццы на арабский переводили

Время на прочтение 13 мин
Количество просмотров 7.9K
Блог компании Dodo Engineering Разработка под iOS *Разработка мобильных приложений *Локализация продуктов *Дизайн мобильных приложений *

Что вы знаете о том, как добавить поддержку языков, которые пишутся справа налево (Right to Left, RTL), в iOS‑приложение? Нужно использовать leading и trailing вместо left и right, а ещё… Вот и мы больше ничего не знали, но пришлось разобраться.

Мы готовим приложение Додо Пиццы к локализации на арабский язык. В статье хотим поделиться находками и рассказать, зачем нам поддержка RTL в приложении, почему не достаточно просто адаптировать вёрстку в коде для поддержки RTL, зачем мы перерисовывали иллюстрации и чем отличается арабский знак процента от европейского. Ещё покажем много скриншотов и поделимся шпаргалками по поддержке RTL в коде.

Читать далее
Всего голосов 51: ↑49 и ↓2 +47
Комментарии 18

Первому курьеру приготовиться: как мы проверяли систему автоназначения заказов в пиццериях

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 1.7K
Блог компании Dodo Engineering Тестирование IT-систем *Управление продуктом *IT-компании
Кейс

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

В этой статье поделимся опытом, как мы тестируем продукт в реальных условиях на реальных пользователях, как это помогает прорабатывать наши гипотезы. Расскажем о том, как наши ожидания сломались о реальность, о волне негатива, с которым мы столкнулись, и как превращали критиков в своих сторонников.

Читать далее
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 3

Чеки, налоги, разные страны: как их «подружить» на уровне разработки

Время на прочтение 11 мин
Количество просмотров 1.8K
Блог компании Dodo Engineering Управление разработкой *Управление продуктом *
Кейс

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

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

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

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 0

Вдали от Webpack, или Как мы в Dodo микрофронтенды на Vite переводили

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 4.3K
Блог компании Dodo Engineering Разработка веб-сайтов *Программирование *ReactJS *
Кейс

С первой частью рассказа о микрофронтендах в Dodo можно ознакомиться тут

Мы спокойно сидели и пилили новый проект на нашем устоявшемся стеке (React + TypeScript + Webpack + SingleSPA + SystemJS + Jest). Пока одним прекрасным утром не пришел наш техлид и такой: «Чуваки, а давайте затащим Vitest!».

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 9

Делай нейминг как сеньор

Время на прочтение 13 мин
Количество просмотров 94K
Блог компании Dodo Engineering Программирование *Анализ и проектирование систем *Совершенный код *Управление разработкой *

Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.

Как получается, что код становится мало понятным даже для его авторов? Почему нейминг так важен? Как придумывать названия, не применяя целые теории нейминга? Как лёгким процессом организовать работу с неймингом в команде? На все эти вопросы мы ответим в статье.

Читать далее
Всего голосов 186: ↑184 и ↓2 +182
Комментарии 221

Микровселенная безумия, или Как устроены микрофронтенды в Dodo

Время на прочтение 10 мин
Количество просмотров 4.1K
Блог компании Dodo Engineering Разработка веб-сайтов *ReactJS *
Обзор

«Микрофронтенды в компании, которая доставляет пиццу? Серьёзно? Зачем? Да и куда? У вас же всего лишь приложенька с каталогом и заказом товара. Какие ещё микрофронтенды?»

Одно из самых распространённых заблуждений о том, что в Dodo до микрофронтендов не доросли. Но сегодня я постараюсь его развеять и рассказать, как мы докатились до такой жизни и какой путь при этом был пройден. Усаживайтесь поудобнее, мы начинаем наш рассказ.

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

4 часа недоступности: постмортем падения Dodo IS

Время на прочтение 16 мин
Количество просмотров 26K
Блог компании Dodo Engineering Программирование *Управление разработкой *IT-компании

Вечером пятницы 23 сентября, в самое «горячее» время для Додо Пиццы, развалилась платформа Dodo IS. Приём заказов превратился в тыкву, клиенты и пиццерии 4 часа испытывали проблемы. Это было наше самое крупное падение с 2018-го года как в техническом плане, так и по недополученной выручке.

Особенная боль — то, что мы упали в прайм-тайм. Наш бизнес устроен циклично и зависит от сезона: осенью заказов больше, чем летом, а по вечерам пятницы больше в несколько раз, чем в утром вторника. Обычно пик заказов приходится на вечер пятницы (с 16 до 20 по Москве). Это время — самое напряженное для системы и самое ценное для бизнеса.

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

Читать далее
Всего голосов 161: ↑159 и ↓2 +157
Комментарии 106

Как устроены интернет-платежи в Dodо

Время на прочтение 25 мин
Количество просмотров 9.4K
Блог компании Dodo Engineering Платежные системы *API *Управление разработкой *
Обзор

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

Меня зовут Дмитрий Кочнев, я разработчик в команде интернет-платежей и в этой статье расскажу о том, какой путь проделала компания в этом направлении, какое положение дел сейчас и какие планы. Статья написана в формате мини-историй, каждая из которых может стать отдельной статьёй с большим количеством подробностей, если к ней возникнет интерес с вашей стороны.

Читать далее
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 16

Логи в iOS, эпизод 3: BlackBox

Время на прочтение 7 мин
Количество просмотров 2.1K
Блог компании Dodo Engineering Разработка под iOS *Разработка мобильных приложений *
Туториал
✏️ Технотекст 2022

В 2019 году я устроился в Додо Пиццу. В первую же неделю я спросил у ребят, как они логируют происходящее в iOS-приложении у клиентов и узнал, что никак.

Я удивился и понял, что у меня нет абсолютно никакой уверенности, что приложение Додо Пиццы работает как было задумано. А ещё мне прям вот ну интересно было как логируют «большие взрослые дяди»: перед Додо я работал над небольшими проектами, где было не до логов, так что опыта у меня не было.

Итого: клиентских логов нет, а неопределённость и интерес остались. Значит надо сделать систему логов самому. Ну я и сделал. А это — история появления и развития логов в iOS-приложении Додо Пиццы.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 2

Изморозь на пицце: делаем новогоднюю анимацию в Android-приложении

Время на прочтение 5 мин
Количество просмотров 3.4K
Блог компании Dodo Engineering Разработка мобильных приложений *Разработка под Android *
Туториал
✏️ Технотекст 2022

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

Мы в Dodo стараемся сделать приложения в первую очередь качественными, но и не забываем добавлять интересных фич для наших любимых клиентов. Так, например, мы создали анимацию «Летающая Пицца», а в канун Нового года решили сделать праздничную зимнюю анимацию под названием «Изморозь».

В статье поделюсь этим опытом и расскажу, как за несколько шагов сделать стираемую с экрана анимацию и в вашем приложении.

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

ChatGPT написал Android-приложение

Время на прочтение 11 мин
Количество просмотров 75K
Блог компании Dodo Engineering Разработка мобильных приложений *Разработка под Android *Искусственный интеллект
✏️ Технотекст 2022

Вчера чат-бот с искусственным интеллектом ChatGPT написал за меня Android-приложение! Это очень примитивное приложение, но оно компилируется, запускается и работает. Но как он это сделал? С первой попытки или пришлось долго сидеть и мучить его?

Сейчас расскажу!

Читать далее
Всего голосов 107: ↑104 и ↓3 +101
Комментарии 247

Решительность в IT: решает тот, кто делает

Время на прочтение 5 мин
Количество просмотров 14K
Блог компании Dodo Engineering Управление разработкой *Карьера в IT-индустрии

Вам приходилось ходить на встречи, на которых 10 или более человек никак не могли договориться? Такое может быть и с архитектурными, и дизайн-решениями, и  процессами. Нам в Dodo приходилось. Это может быть мучительно больно и выматывающе, поэтому хочу поднять тему решительности или «куража», как это называется в экстремальном программировании.

Почему я? Когда-то давно, когда я ещё не была техлидом, я заметила, что у нас есть проблема с глобальными процессами. От этого страдали все, и я в том числе. В конце концов страдать мне надоело, поэтому я решилась изменить что-то хотя бы в собственной команде. И мне это удалось. Хочу поделиться опытом и рассказать о одном принципе, который помог мне тогда и помогает по сей день.

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

Читать далее
Всего голосов 48: ↑42 и ↓6 +36
Комментарии 32

Как подключить российский SSL-сертификат к iOS-приложению

Время на прочтение 5 мин
Количество просмотров 7.6K
Блог компании Dodo Engineering Информационная безопасность *Разработка под iOS *Разработка мобильных приложений *

Одна из санкций, которая досталась России, — запрет на выдачу и продление SSL-сертификатов. Это приводит к тому, что у некоторых компаний сертификат может протухнуть и сайты перестанут открываться.

Основных решений два:

Использовать российский Яндекс.Браузер или Атом.

Поставить на компьютер сертификат или профиль от минцифры.

Для мобильных приложений это превращается в особую проблему — могут перестать проходить платежи разных эквайрингов.

Например, 15 февраля 2023 года у Сбера истечёт действие сертификата и надо переходить на самоподписанный. Если этого не сделать, то эквайринг через Сбер может перестать работать. SberPay будет работать как и раньше.

В статье покажу, что делать разработчикам приложений, чтобы экраны c 3-D Secure открывались и эквайринг продолжал работу.

Читать далее
Всего голосов 20: ↑14 и ↓6 +8
Комментарии 21

Какие проблемы решает Release Train в мобильной разработке

Время на прочтение 9 мин
Количество просмотров 4.3K
Блог компании Dodo Engineering Разработка мобильных приложений *Управление разработкой *Управление проектами *

Влияет ли размер приложения и команды на то, как мы его релизим? Давайте представим себе стартап. Проект и команда небольшие. В этом случае обычно не задумываешься о процессе релизов: сделал фичу — зарелизил.

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

В этой статье расскажу, что при росте приложения Додо Пиццы стало для нас отправной точкой и заставило внедрить Release Train. В конце поделюсь результатами, помогло ли это.

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

Погнали
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 6

Информация

Сайт
dodo.dev
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Schvepsss