99developers – Telegram
99developers
1.83K subscribers
42 photos
5 videos
1 file
127 links
Делаю банк для мигрантов.

Построил IT в Додо.

DM: @alexandronov
Download Telegram
Еще один тред в твиттере про идею, которую ребята реализовали на хакатоне. На этот раз от Антона из команды, которая победила! История о том, когда вы заказали пиццу, но у вас еще нет приложения Додо, а следить за заказом как-то хочется.

Скоро на продакшене 🙂
👍2
Под конец года хочу оставить тут одно важное видео.

Это видео – попытка за 13 минут простыми словами объяснить во что эволюционирует Dodo IS, как она становится QSR платформой. По сути, это и есть ключевой итог 2021ого года для нас.

В основе развития Dodo IS три тезиса.

1. Рыночные + глобальные команды. Мы вместе создаем Dodo IS. Сочетаем максимальную скорость рыночных команд и максимальную гибкость глобальных команд.
2. Конструктор. Есть обязательные компоненты для всех, а есть опциональные или специфичные для рынка. Подключать модули Dodo IS можно в любое время.
3. Расширяемость. Расширить возможность Dodo IS можно с помощью открытого API и интеграций с помощью Dodo IS Apps.

В следующем году будет весело! Присоединяйтесь.
👍10
40 миллиардов рублей!
500 миллионов долларов!

ВАУ!

https://realtime.dodobrands.io
👍141
Дежурства на длинных новогодних праздниках.

Мы делаем SaaS, он должен работать 24/7. 31 декабря наши пиццерии закрываются в 18:00 по местному времени и уже 1 января в 12 открываются снова. Учитывая большую распределенность по всем часовым поясам получается работа практически без остановок даже в новогоднюю ночь. Dodo IS должна работать в любое время.

Сегодня кратко расскажу о том, как устроена наша подготовка в НГ и как устроены дежурства в длинные каникулы.

Подготовка
Уже в ноябре мы готовимся к повышенной нагрузке. Профиль заказов на новые год сильно отличается от других праздничных дней, больше отложенных заказов, больше заказов с огромным составом (20-30-50 пицц на один заказ).

У нас есть понятие сервисов критического пути. Это те части Dodo IS, которые отвечают за прием заказа, его приготовление и выдачу/доставку.

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

Релиз фриз
С 28 декабря релиз фриз по всей Dodo IS.

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

Дежурства
Делим их по уровням.

1. Первая линия поддержки, команда Tech Support. Ребята начинают работать с открытием пиццерий 1 января.
2. Команда SRE, которая знает большую часть системы и может многое решить самостоятельно, дежурит 24/7. Впрочем, она делает это всегда, на любые праздники. У них свое расписание, подключенный PagerDuty для уведомлений, случись чего – они первые на инциденте. Вне зависимости от того, сколько времени на часах.
3. Продуктовые команды. Делаем общий график, в котором ребята из каждого продукта внутри Dodo IS отмечают, кто доступен, кто ограниченно доступен, а кто нет. График этот сводится таким образом чтобы в каждой критичной точке системы каждый день был хотя бы 1 разработчик, кто будет доступен на случай инцидента, помимо SRE команды. Продакты так же участвуют.

Такая система работает уже несколько лет и сделана специально под длинные праздники. На майские все то же самое.

А вот дежурства в регулярные рабочие дни у нас устроены немного иначе, они сильно эволюционировали за 2021й год и в 2022м продолжат развиваться, о чем расскажем позже.
👍32
Forwarded from Dodo Engineering
Сегодня расскажем про будущее на Dodo Future Week. Присоединяйтесь к трансляции в 17:00 (можно будет задать вопрос в прямом эфире).

Спойлеры: будем говорить про то, как IT меняет бизнес, как будем развиваться мы сами и платформа Dodo IS, а также про зарождение IoT в компании.
8👍1
photo_2022-01-21 16.27.13.jpeg
101.3 KB
Ты, говорят, C-lvl, вот тебе первая в жизни книжка по C-lvl в подарок! Welcome back to my mind, C 🙂 🔥
👍153😱1
Про “бесплатные” opensource решения.

Мы много используем opensource решений и последнее время все больше контрибьютим.

Кто-то думает что использование opensource это бесплатно. Ошибаетесь. Спросите об этом у компании Roblox, которая 3 дня пролежала из-за проблем в opensource софте, который просто последние 4 года не поддерживается. Он может бесплатно распространяться, но заплатишь ты все равно, просто иначе.

31 января у нас прилегла система трекинга, на 18 минут. Разбирая причину, ребята нашли причину в особенностях работы коннектора к MySQL для .NET на нагрузке. И что с этим делать? Ребята разобрались, раскопали и отправили PR, который в версии 2.1.6 уже будет доступен.

И к чему это я?

А к тому что хотите или нет, opensource решения не будут для вас бесплатными. И доступно всего 3 опции

1. Вам придется инвестировать свое время в исследования, обновления и фиксы в случае необходимости. Основу вы получаете бесплатно, но у вас нет гарантий что конкретно ваш кейс будет поддержан.
2. Вы можете финансировать какую-то разработку деньгами, поддержать автора, по сути он станет для вас эдаким внештатным дополнительным разработчиком одной конкретной библиотеки.
3. Если что-то пойдет не так как вы задумывали, вам придется сделать форк и дальше развивать решение полностью самим (см пункт 1) или менять его на другое. И дальше все по-кругу.

Но бесплатно это точно не обойдется.
👍382
Демо день Dodo Engineering Q4’2021.

Раз в квартал мы рассказываем о том, что сделали. Было очень много форматов, но формат с видео, где каждая команда за 2-3 минуты рассказываем саммари о своих результатах, зашел лучше всего. Коротко, емко и с юмором.

Посмотреть можно на Youtube

Если вы ищите формат для демо дней с бизнесом, при этом у вас много команд и хочется рассказать много всего, обязательно рассмотрите этот формат.
👍15
Про деньги в опенсорсе 💰

Где-то есть 🤑
1. Поддержка крупных компаний и их собственные разработки, которые стали публичными. Flutter от Google, React от Facebook, Chaos Monkey от Netflix. Компании сами финансируют свои разработки, часть их разработчиков вообще занимаются ТОЛЬКО opensource решениями.

2. Продажа SaaS и поддержки. Вы разработали хорошее большое решение, оно открыто и может быть использовано любой компанией даже в коммерческих целях. Но компании понимают что хостинг, поддержка и обновления стоят денег, проще купить масштабируемое готовое SaaS решение, да еще может и заплатить за расширенную поддержку, которая включает, например, багфиксы побыстрее или фичи эксклюзивные. В открытом коде багфиксы появятся с задержкой на неделю-другую, зачем вам это? И вот вам вторая опция финансирования – создание полноценного SaaS бизнеса.

3. Есть фонды, поддерживающие опенсорс разработки, например Linux Foundation, Apache Foundation, .NET Foundation, которые компенсируют часть затрат на разработку. Вообще структура финансов у них странная, только Apache Foundation в своих финансовых отчетах детально показывает, на что тратит деньги. Можно попробовать подключить свой проект, если он будет социально значимым.

А где-то нет и не будет 🙅

Все держится на энтузиазме.

А что делать небольшим разработкам? Откуда деньги на небольшие проекты, типа того же коннектора для MySql, который мы используем, которые сейчас поддерживается работодателем автора? А если вдруг перестанет или автор сменит работу, все?

Ответ тут простой, денег тут нет. Вообще. Вся экономика подобных опенсорс проектах построена не на деньгах, а на нескольких идеях.
• идее противостояния между community-based софтом и corporate-based софтом (помните ошибки MS с выводом .NET в опенсорс?), своего рода бунтарство.
• это идея gift-economy и на том, что человек, который что-то отдает (созданием открытого софта) начинает растить свою репутацию.
• это идея роста тебя как разработчика и потенциально получить лучший офер от лучшего работодателя за счет той самой репутации. Когда твой код открыт, когда твоим инструментом пользуются другие люди и знают детали, ты просто становишься лучшим разработчиком в их глазах.

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


PS. Большой (очень) отчет о влиянии OpenSource решений на экономику EU
👍161😱1
Третий, последний пока пост про Opensource. Зачем и почему небольшим компаниям типа Додо идти в Opensource?

IT Brand.
Конечно, первое что приходит в голову – это про бренд работодателя. Участие в opensource community это своего рода шильдик качества, что в этой компании ценят сообщество, поддерживают не словом, а делом.

Для нас это еще и возможность показать технологии, которые мы используем. Например, у нас в стэке есть Azure Data Explorer с SQL-подобным языком Kusto Query Language. Крайне мощная штука, но пока не самая распространенная. Нужна поддержка для SqlAlchemy для Kusto, сделаем. Используете jaeger для трейсинга? Не проблема, мы сделаем решение.

Или вот используем мы CosmosDB. Почитайте, какой уровень SLA она предлагает, собственно, потому и используем. Окей, вот для нее ASP.NET Session State Provider.

Opensource как часть процесса разработки
Но бренд не главное. Opensource задает стандарты. Неплохо бы добавить CI и следить за сборкой новых версий. Неплохо бы добавить тесты, в качестве гарантии, что библиотека прошла проверку. Сделать нормальную документацию, чтобы любой внешний человек, прочитав ее, понял о чем речь, как интегрировать и т.д. Opensource задает стандарты, соблюдая которые, ты можешь двинуться к следующему большому шагу в организации внутренних процессов – Inner Source.

Inner Source как часть процесса. Все репозитории и все продукты открыты для любого разработчика Додо. Каждый может контрибьютить в любой код Dodo IS. Такой процесс работы требует той самой грамотной организации, в том числе в части документации, описания, CI, тестов, структуры поддержки и дежурств и т.д. Inner Soure – часть нашего глобального процесса разработки, который сочетает работу рыночных команд, которые развивают Dodo IS под конкретные рынки и глобальных команд, цель которых создавать универсальные решения для всех рынков. Inner Source помогает балансировать между скоростью рынков и масштабируемостью и гибкостью глобальных решений.

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

Opensource уже становится скорее не про пиар активности, не про хайп, он часть процесса разработки.
👍8
Друзья! Постов пока не будет! Очень надеюсь на скорый мир!

#мир
62😱1
Буду потихоньку возвращаться в публичное поле. Много чего есть рассказать о том как мы адаптировались к новой реальности.

Но для начала…есть одно предложение.
👍2😱1
Про развитие джунам.

За последний год ко мне обратились 4 человека с просьбой помочь им сделать следующий шаг в развитии как разработчиков. Два человека были на уровне Junior, двое вообще только входят в IT.

Я помню как я сам учился разработке. Опустим универ (с лабораторками и лекциями), перейдем сразу к делу. Учился в бою на практике. В универе был только один полезный курс про шаблоны проектирования. Так совпало что в момент этого курса я уже активно работал в одной небольшой компании, делали приложение под Windows Mobile. В общем, вы догадываетесь, что я делал? Все шаблоны что мы изучали, я встраивал в приложение. Там где нужно и где не нужно 🙂 Наверное, человек, который принял проект после меня, долго проклинал меня.

Но я тогда знал что хочу. Я понял что не могу дальше развиваться и надо искать новое. Так в моей жизни появился Intel.

А что если пока неясно что делать дальше и главное, как?

Какие книжки читать? Есть куча фундаментальных книг по разработке, стоит ли их читать сейчас или отложить? А надо ли их перечитывать, чтобы переосмыслить?

Какие курсы выбрать? Сейчас, чтобы разобраться с многообразием курсов, школ, практик, уроков, нужна уйма времени, ведь ты инвестируешь 4-6-12 месяцев в обучение. И если тебя научат фигне, ну, считай что можно учиться заново.

Как расти джуну? Как выбрать что изучать сейчас, а что потом? Стоит ли менять компанию/проект/стэк?

А когда, как и где искать работу, если ты джун или вообще только начинаешь свой путь в IT?

Много вопросов. Часть из них про практические конкретные рекомендации, часть про веру в себя и способность не бросать начатое. И вот так получилось мы разбирали 1:1 на нескольких сессиях с 4мя разными людми. Один из них сейчас в Додо и растет быстро, второй вырос до миддла, прокачал хороший продакшн опыт критически важного сервиса, третий учится фронтенду, а четвертый с планом познает азы аналитики данных.

В итоге, что я хочу предложить. Если вы Junior разработчик/продакт/QA или вы вошли в IT, что-то попробовали и вам нужно помочь определиться со следующим шагом – напишите в телеграмм, возможно я вам смогу помочь. Где-то советом, где-то конкретными рекомендациями, своим опытом, где-то проектами, где-то вакансиями.

Если для вас это актуально, пишите в телеграмм @alexandronov или на почту a.andronov@dodopizza.com. Расскажите о вашем опыте, чем занимаетесь и о том, где застряли, чем помочь.

Pls, share, retweet, etc.

PS. Я понимаю что потенциально предложение может быть актуально не только для junior, но и для middle/senior позиций. В целом, можно попробовать, если считаете что могу помочь, пишите.
40👍14
Forwarded from Dodo Engineering
22 апреля мы считаем днём рождения компании Dodo и днём рождения Dodo IS (ведь мы неразрывно связаны). 11 лет назад наша система была маааленьким модулем для приёма заказов по телефону, теперь же Dodo IS — становится большооой платформой, которая помогает масштабировать наш бизнес!

Мы много чего успели за последний год:

🔹IT-команда выросла почти на 50%. Наш средний возраст — 30 лет, а всем вместе нам больше 6 тысяч лет!

🔹Делали из Dodo IS платформу, запустили курьерское приложение с чаевыми, научились определять дефекты пиццы с помощью компьютерного зрения и прогнозировать закупки с ML. Добавили в приложение чат и сторис, перезапустили программу лояльности.

🔹Открыто делились своим опытом с миром: выпустили 2 новых подкаста, 30+ раз выступили на конференциях и митапах, написали 40+ статей, книгу «Про доступность iOS» и попали в топ-5 команд мобильной разработки.

Считаем, что год прошёл круто. Впереди много новых вызовов, но мы с ними справимся и сделаем наш продукт ещё лучше.

Ну и по традиции — поздравляем Dodo, Dodo IS, Dodo Engineering и всех, без кого всё это было бы невозможным — наших разработчиков, продактов, QA, SRE, c-level, менеджеров, дизайнеров, ppl, деврел, техподдержку (никого не забыли?) с праздником! 🎉
👍159
В конце апреля работал смену курьером в пиццерии. У нас был день директора, это когда большинство сотрудников офиса управляющей компании, сотрудники офисов франчайзинговых сетей идут в пиццерии, кофейни, донерные, работают на смене. Корень нашего бизнеса именно там 🙂

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

Много инсайтов, сделал пару сценариев теста курьерского приложения, пообщался с курьерами, с одним обсуждали нынешнее положение дел в Ливерпуле и Манчестер Юнайтед, он фанат Ливерпуля, машина в шарфах, на аватарке лого.

Немного забавных историй от ребят
• Шлагбаум, территория жилого комплекса закрыта. Звоню в звонок на воротах. Охрана объясняет что на мою доставку пиццы нет заявки. А нужна заявка на доставку пиццы??? Звоню клиенту, говорю что охрана не пускает. Три минуты выяснения, оформления заявки, меня таки пропустили и я доставил заказ клиенту.
• Продавал пиццу глухонемому, он был очень рад, когда я принёс до столика. А ещё разболтались с одной бабушкой и она вернулась ещё за одной пиццей
• Меня очень попросили позвать, когда будет готов заказ, по имени, а имя было “Уничтожитель миров 3000”
• Сегодня утром придя на смену я сказала: “Скажу сразу, я никогда не готовила молочные коктейли, так что пусть это будет делать кто-то другой”. Марго, которая была со мной в гембе тоже не готовила. Поэтому вся надежда была на Айгуль. Около 12:00 Айгуль ушла на перерыв покушать. И тут случилось это: мы видим заказ из приложения на три клубничных коктейля.

А не фигню ли я делаю? Зачем разработчики ходят в гембу / Хабр
👍163👎1
Хорошая, эмоциональная статья для прочтения в пятницу. Why I Quit a $450k Engineering Job at Netflix. О том что важно банально получать удовольствие от работы и никакая золотая клетка не может удержать человека, если нет внутренней мотивации.

Вообще с внутренней мотивацией вопрос интересный. Если ее нет (пропала, ушла гулять или просто задремала на время), как ее снова найти? Заменит ли внешняя мотивация внутреннюю? А надо ли поддерживать внутреннюю мотивацию в тонусе?

В статье автор хотел переквалифицироваться из разработки в Product Management, но не нашел возможности внутри Netflix. Он понимал что хотел. У него была очень понятная и явная внутренняя мотивация.

Внутренняя мотивация это вообще про “хотеть чего-то”. Может не конкретно, но для начала в очертаниях, постепенно их уточняя. Встречал несколько кейсов, когда люди находятся в состоянии “не понимаю чего хочу, кажется вообще ничего не хочу”.

Для разработчика лучший рецепт тут – начать расширять свой контекст, смотреть вширь, смотреть другие задачи, другой уровень сложности, другой бизнес-домен, читать про стартапы, чем занимаются другие люди, читать про новые тренды, ради фана попробовать новый язык разработки. Широта контекста дает возможность посмотреть и на свою текущую работу, на свой бизнес, иначе. Мотивация никуда не пропала, просто временно недостаточно контекста чтобы понять чего же вы на самом деле хотите. Расширяя контекст, хватая новое понемногу начинаешь понимать что же на самом деле хочется.
👍455
Пожалуй, это одна из важнейших написанных мной статей про Dodo IS. Она объясняет как мы работаем, объясняет внутреннюю структуру и то, почему работа над Dodo IS устроена именно так и как все это масштабируется.

Краткое саммари

• Мы разделяем команды на рыночные и глобальные.
Рыночные команды – делают продукты и меняют Dodo IS исходя из приоритетов конкретного рынка. Они делают решения максимально быстро, скорость адаптации к рынку для них в приоритете. Универсализм команд – их ключевая компетенция.
Глобальные команды – делают продукты и меняют Dodo IS для всех стран и брендов, их приоритеты драйвятся глобальными целями Dodo Brands. Они делают решения максимально гибкими, адаптируемыми и надежными.
InnerSource – один из инструментов, дающих гибкость рыночным командам делать все что угодно и двигаться быстро.
Поддержка 24/7 остается у Глобальных команд, они отвечают за правила игры в своих компонентах.

Подробности читайте на хабре.
13👍2
Это первый раз, когда я взял на себя коммит поработать со стартапом и максимально помочь всем чем могу. Для меня это абсолютно новый опыт.

Сегодня Growegy запускается в Product Hunt.

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

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

Посмотрим что получится из всей этой истории. Стартапы – это всегда прилив адреналина )
👍118👎1
2 месяца тишины, потому что был фокус на внутряке. Кратко что произошло:

• Апдейтнули стратегию Dodo IS. Фундаментально она не изменилась, отличаются детали и то, какие продукты мы развиваем, а какие в стопе.
• Собрали финплан Dodo IS. Ограничения очень заставляют думать.
• Презентации. За последнии 2 месяца их было 4. Вроде все про одно и то же, но отличаются в мелочах. Где-то надо упор сделать на детали бэклога что будем делать, а что нет, где-то про общую стратегию, где-то обозначить конкретные вопросы, на которые будем искать ответы и т.д. Не знаю как вам, а мне все презы даются тяжело.
• Договорился о менторинге.
• Комитнулся на выступление на South HUB

Дальше чуть подробностей.

Стратегия
Еще раз пересобрали стратегию Dodo IS. Фундаментально ничего не поменялось, мы так же продолжаем делать платформу с глобальными и рыночными командами, превращаем ее в конструктор и делаем механизмы для расширения (как для локализации, так и просто для добавления возможностей в системе).

Когда мы собираем стратегию Dodo IS, мы ориентируем ее на глобальную стратегию всей компании Dodo Brands. Сегодня о ней расскажем на ежегодном съезде!

сайт с расписанием выступлений
прямая трансляция на Youtube

Финансы
Собрали финплан Dodo IS. Вот тут прям инсайтище. Ограничения помогают пересмотреть продукты и лишний раз по каждому задать вопрос: “А то что ты делаешь, это реально нужно сейчас? А что развалится, если полгода-год-два вообще не трогать ничего тут?”. В обычных условиях ты вроде понимаешь что да, нужно делать то и еще вот это, да, задачки важные, да и общей стратегии вроде соответствуют. Накладывая ограничения, пересматривая и 5 раз задавая вопрос “Зачем это делать?”, реально находишь части, которые можно остановить без особых проблем.

Мы собрали простую систему и теперь каждые полгода будем ее апдейтить. У Dodo IS есть продуктовая карта, где отмечены продукты внутри системы. Каждый мы относим либо к красной, либо к желтой, либо зеленой отметке.
🔴 – полный стоп продукта на полгода (может больше).
🟡 – развиваем текущими силами, общая стратегия продукта остается, но сильных вложений не делаем.
🟢 – максимальные инвестиции и фокус сюда.

У такой системы есть три фундаментальных плюса.
1. Ее очень легко мэтчить это с глобальной стратегией Додо.
2. Она простая и наглядная, в ней мы решаем куда инвестировать больше, куда меньше.
3. Мы явным образом проговариваем что мы НЕ будем делать.

Третий пункт особенно важен. Мы хотим делать все, все важно, полезно, нужно. Но без фокуса мы далеко не уедем. Когда мы явно на всю компанию обозначаем что есть вот конкретные вещи, которыми мы НЕ будем заниматься в ближайшие полгода-год, можно просто выбросить это из головы и сфокусироваться на текущих целях.
👍30👎21