Pull to refresh
  • by relevance
  • by date
  • by rating

Выпустили книгу о доступности приложений на iOS

Dodo Engineering corporate blog Development for iOS *Development of mobile applications *Interfaces *Accessibility *

Однажды Миша Рубанов посмотрел интервью Wylsacom с Анатолием Попко «Как незрячий пользуется iPhone, MacBook и Apple Watch» и понял, что адаптировать приложения для незрячих это важно, и несложно. Начал разбираться как люди пользуются телефоном, как ведут себя отдельные контролы, как строить из этого сценарии, начал адаптировать экраны приложения Додо Пиццы, написал статью про доступность «Voice Control и VoiceOver: как адаптировать приложение для незрячих или неподвижных», потом ещё и ещё, провёл курс. В итоге накопилось столько материала, что его хватило бы на целую книгу.

И вот она появилась.
Total votes 13: ↑13 and ↓0 +13
Views 2.8K
Comments 4

Зачем Додо Пицце 250 разработчиков?

Dodo Engineering corporate blog
Прошлой осенью мы объявили о том, что планируем расширить IT-команду с 48 до 250 человек. Сразу посыпались вопросы, которые по сути сводились к одному: зачем сети пиццерий 250 разработчиков? Откуда эта цифра? Поэтому в первом посте в нашем блоге хочу ответить именно на этот вопрос (и, конечно, на любые другие в комментах).


Читать дальше →
Total votes 100: ↑79 and ↓21 +58
Views 52K
Comments 221

Машинное обучение в Додо. Как запустить новое направление, если ты разработчик

Dodo Engineering corporate blog Data Mining *Algorithms *Machine learning *
Под катом история о том, как в Додо появилось направление машинного обучения. Спойлер: это я его запустил. Хардкорных технических подробностей тут не будет, обязательно посвящу им отдельную статью. Сегодня больше про мотивацию и поддержку коллег.


Читать дальше →
Total votes 42: ↑37 and ↓5 +32
Views 14K
Comments 22

Геймдизайнер мало чем отличается от психа. Как мы делали игру CMAN

Dodo Engineering corporate blog Game development *Project management *Product Management *Games and game consoles
/start

Вечер пятницы, конец рабочего дня. Вы находитесь в офисе. Что будете делать?

— Поехать домой поспать
— Пойти в бар с друзьями
— Отправиться на свидание
— Проверить, почему горит свет в переговорке

Меня зовут Андрей Моревский, я архитектор в Додо и тот человек, который выбрал «Проверить, почему горит свет в переговорке». Тогда я ещё не подозревал, чем закончится эта история.

Читать дальше →
Total votes 41: ↑38 and ↓3 +35
Views 12K
Comments 8

Наш первый обед вместе: почему и как мы проводим тестовый день

Dodo Engineering corporate blog Personnel Management *IT career
Привет, Хабр! Пару месяцев назад мои коллеги рассказывали про расширение команды в 5 раз: от 50 тогда до 250 разработчиков к концу 2020 года. Как вы могли догадаться, сейчас мы уделяем много внимания найму. При этом, мы не готовы «брать количеством», нанимая всех подряд, мол «потом разберёмся». Нам важно, чтобы человек действительно стал частью нашей команды на годы вперёд. Именно этот мотив привёл нас когда-то к новому формату собеседований – тестовому дню. Про него и пойдёт речь под катом.



Серия статей про собеседования:
1. Наш первый обед вместе: почему и как мы проводим тестовый день.
2. Я прочитал 80 резюме, у меня есть вопросы.
3. Собеседование в Додо Пиццу.
4. Уходя уходи: почему не стоит принимать контроффер.
5. Спасибо за собеседование, мы ответим о нашем решении… сейчас.

Спойлер с цифрами.
За 1,5 года мы наняли более 40 человек и от нас ушло всего 4 разработчика: один ушёл запускать свой бизнес, а остальные переехали в Европу.
Читать дальше →
Total votes 44: ↑33 and ↓11 +22
Views 25K
Comments 118

Волшебная фея для юнит-тестов: DSL в C#

Dodo Engineering corporate blog Programming *.NET *C# *
Как часто бывало так, что написав рабочий юнит-тест, ты смотришь на его код, а он… плохой? И ты такой думаешь: «Это же тест, оставлю так…». Нет, %username%, так оставлять не надо. Тесты — это значимая часть системы, которая обеспечивает поддерживаемость кода, и очень важно, чтобы эта часть также была поддерживаемой. К несчастью, у нас не так много способов обеспечить это (не будем же мы писать тесты на тесты), но парочка всё-таки есть.

Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Views 9.4K
Comments 41

Sprint Review: Днище — Огнище

Dodo Engineering corporate blog Project management *Agile *Product Management *IT-companies

«Мы легли на дно, мы зажгли огни, во Вселенной только мы одни». Кажется, эту строчку из песни группы Сплин смело можно признать саундреком внедрения практики Sprint Review у нас в Dodo Pizza.


Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Views 9.8K
Comments 3

Кот Шрёдингера без коробки: проблема консенсуса в распределённых системах

Dodo Engineering corporate blog System Analysis and Design *Algorithms *Mathematics *Distributed systems *
Итак, представим. В комнате заперты 5 котов, и чтобы пойти разбудить хозяина им необходимо всем вместе договориться между собой об этом, ведь дверь они могут открыть только впятером навалившись на неё. Если один из котов – кот Шрёдингера, а остальные коты не знают о его решении, возникает вопрос: «Как они могут это сделать?»

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


Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Views 18K
Comments 20

Infrastructure as Code: как побороть проблемы с помощью XP

Dodo Engineering corporate blog IT Infrastructure *Development Management *DevOps *
Привет, Хабр! Раньше я жаловался на жизнь в парадигме Infrastructure as code и ничего не предлагал для решения сложившейся ситуации. Сегодня я вернулся, чтобы рассказать, какие подходы и практики помогут вырваться из бездны отчаяния и вырулить ситуацию в правильное русло.


Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Views 8.1K
Comments 4

Лошадь сдохла – слезь: переход с tslint на eslint

Dodo Engineering corporate blog Programming *Perfect code *TypeScript *
До недавнего времени во всех проектах фронта разработчики Dodo Pizza Engineering использовали tslint – полезный инструмент, который подсказывает, когда ты накосячил в коде допустил неточность, помогает поддерживать код в одном стиле и сам исправляет многие замечания. Но тут tslint взял и умер. Под катом я расскажу, почему так вышло, как перестать лить слёзы по умершему и перейти на инструмент eslint, а также покажу кое-что очень интимное.


Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Views 32K
Comments 12

HTTP/3: разрушение основ и дивный новый мир

Dodo Engineering corporate blog Network technologies *IT Standards *
Вот уже больше 20 лет мы смотрим веб-странички по протоколу HTTP. Большинство пользователей вообще не задумывается о том, что это такое и как оно работает. Другие знают, что где-то под HTTP есть TLS, а под ним TCP, под которым IP и так далее. А третьи – еретики – считают, что TCP – это прошлый век, им хочется чего-то более быстрого, надёжного и защищённого. Но в своих попытках изобрести новый идеальный протокол они вернулись к технологиям 80-х годов и пытаются построить на них свой дивный новый мир.

Читать дальше →
Total votes 102: ↑97 and ↓5 +92
Views 51K
Comments 115

Разведение мемов в корпоративных условиях: над чем смеются разработчики Dodo IS

Dodo Engineering corporate blog Community management *IT-companies
Привет, Хабр! Недавно я подумала, что «хочу смеяться пять минут» и стала вспоминать рабочие приколы. Чем больше я смеялась, тем больше понимала, что сущность мемов сложнее, чем кажется. В итоге я написала эту статью, ставшую целым околонаучным изысканием. Под катом немного теории и самые закостенелые мемы Dodo Pizza Engineering.


Читать дальше →
Total votes 43: ↑35 and ↓8 +27
Views 9.6K
Comments 15

Как захватить новую страну за 3 недели

Dodo Engineering corporate blog Website development *Programming *Development of mobile applications *
Представим сферическую сеть пиццерий в вакууме, которая хочет захватить мир (никогда такого не было и вот опять). Она уже открыла пиццерии в 13 странах мира и планирует увеличивать эту цифру. Всего год назад запуск (сайта, приложения и информационной системы) был редким — 1 страна за год, а сейчас срок сократился до 3 недель. Что мешало сделать это раньше, чем помогла IT-команда, как избавились от Excel и как получилось ускориться, расскажем в статье.


Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Views 7.7K
Comments 14

Быстрый, простой, сложный: как мы выпилили Realm

Dodo Engineering corporate blog Development for iOS *Development of mobile applications *Database Administration *Swift *

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

Мы тоже использовали Realm — 3 года подряд. Сначала он помогал, потом раздражал, пару раз выстрелил и в конце чуть не вогнал команду в депрессию. В итоге мы удалили Realm из проекта. Это сложный инструмент — простота интеграции обманчива, а за все удобства придётся расплачиваться.

Почему и как мы его удалили
Total votes 46: ↑46 and ↓0 +46
Views 12K
Comments 47

Как заблокировать приложение с помощью runBlocking

Dodo Engineering corporate blog Programming *Development of mobile applications *Development for Android *Kotlin *

Когда мы начинаем изучать корутины, то «идём» и пробуем что-то простое с билдером runBlocking, поэтому многим он хорошо знаком. runBlocking запускает новую корутину, блокирует текущий поток и ждёт, пока выполнится блок кода — кажется, всё просто и понятно. Но что, если я скажу, что в runBlocking есть одна любопытная вещь, которая может заблокировать не только текущий поток, а вообще всё ваше приложение навсегда?

И это не ошибка.
Total votes 22: ↑22 and ↓0 +22
Views 7.2K
Comments 5

Зачем и как мы пишем постмортемы по критичным багам

Dodo Engineering corporate blog Programming *Development Management *Project management *

В какой-то момент у нас стало много хотфиксов — стабильно больше половины деплоев на проде были хотфиксы или откаты. Мы решили анализировать каждый хотфикс, чтобы понять причины, найти системные закономерности и устранить их, не допуская два раза одних и тех же ошибок. Как говорил Джейсон Стейтем (Стэтхэм? Стэтэм?): «Не страшно ошибаться, страшно повторять одну ошибку 2 раза». Ну и мы решили не повторяться и внедрить постмортемы. В статье расскажу как мы анализируем хотфиксы и другие критичные проблемы, что у нас получается, а что нет, с какими сложностями столкнулись и как их решали.

Читать далее
Total votes 19: ↑19 and ↓0 +19
Views 4.7K
Comments 5

Доступность на iOS началась с «36 секунд»

Dodo Engineering corporate blog Development for iOS *Development of mobile applications *Usability *Accessibility *
Translation

8 июня 2009 года Фил Шиллер выступил на WWDC. Всего 36 секунд он неловко говорил о VoiceOver, Zoom, White on Black (с  iOS 6 называется Invert Colors) и Mono Audio. Это были первые реальные специальные функции на платформе iPhone OS, как её тогда называли. Однако, они не произвели большого впечатления — 36 секунд закончились, а потом не было никакой демонстрации или аплодисментов, и Шиллер просто перешел к описанию приложения Nike+.

Но в сообществе людей с проблемами зрения всё было иначе. Казалось, что время остановилось где-то после 1:51:54. Произошло нечто совершенно удивительное, и только несколько человек, казалось, понимали, что это значит.

Читать далее
Total votes 15: ↑14 and ↓1 +13
Views 7.6K
Comments 5

Менять профессию после 30: больно или нет?

Dodo Engineering corporate blog Personnel Management *IT career

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

Как выбрать профессию раз и навсегда?
Total votes 23: ↑20 and ↓3 +17
Views 12K
Comments 41