99developers
1.86K subscribers
41 photos
5 videos
1 file
122 links
Делаю банк для мигрантов.

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

DM: @alexandronov
Download Telegram
Классное чтиво о том что такое API product mindset. API может быть как инструмент вашего продукта может быть уже заложена в Product Value для ваших клиентов, а может придется создать отдельно команду, которая соберет именно продуктовый вижн для API как инструмента коммуникаций и расширений.

Особая сложность подобных платформенных продуктов в том что ты не можешь на 100% полагаться на мнение своего клиента. Тебе надо учитывать его мнение + понимать что хочет клиент твоего клиента и вот на этом стыке уже можно придумать что-то интересное!

PS: Открытое API с публичной информацией, доступной на сайте dodobrands.io.
Впервые воспользовался как клиент сервисом BNPL (buy now, pay later) для оплаты покупки. Скажу вам, это очень крутой новый опыт, эдакого light кредита, но без % и с понятной простой схемой оплаты. Простота оплаты – ключевой элемент идеи!

Работают такие сервисы на комиссии от магазинов, которые к ним подключены. Какой смысл магазинам? Да очень просто, у них растет средний чек. Казалось бы, придумать что-то сильно новое и инновационное в ecommerce уже нельзя, но вот же оно. Совершенно новый опыт, снова растет потребление, снова растут выручки.

Статья в РБК о BNPL в России

А зарубежом это еще популярнее. Есть Klarna, Afterpay (купленный Square), есть мой любимый Affirm, не так давно ставший BNPL-сервисом по умолчанию для Amazon. Почитайте подробнее про BNPL, если вы еще не в курсе этого тренда.
Очень долго меня просили описать свою роль, написать, какие у меня задачки, что я делаю и т.д. И каждый раз, когда я подходил к этому, ничего нормально сформулировать не получалось.

Пробовал описывать цели – они конкретные сейчас, например, запустить Clients-Ordering Platform, API, глобальные и рыночные команды, интеграции. Цели меняются и их в общем описать сложно. Описываешь общими словами типа “Развивать Dodo IS, превращать ее в платформу”. Общие слова, а делать-то что?

Пробовал описывать ответственность. Она тоже очень обще формулируется, поскольку моя верхнеуровневая задача сделать так чтобы IT работало суперски и Dodo IS развивала наши бренды и бизнес в разных странах и давала нам стратегические преимущества. Эти слова тоже можно понять по-разному и надо смотреть цели, задачи, как мы строим платформу. И тоже не всегда она приводит к пониманию конкретики.

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

Тут есть пример, который мы недавно прошли. У нас есть собственная POS система, которая подключается к чековым принтерам и фискальникам. В каждой стране свои законы, свои разрешённые девайсы, интеграции под каждый – мрак. На 5-10 стран еще норм. На 15 ну, терпимо, но уже чувствуется. А когда будет 20? А 25 стран? И мы быстро поняли что это будет проблемой серьезной, мы будем заниматься операционной поддержкой, а не развитием Dodo IS. Осознав проблемы, построили решение на плагинах и интеграции дали на аутсорс, который можно легко масштабировать под задачи.

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

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

“Выживают только параноики”. Книжка от основателя любимой мной компании Intel, которой я отдал 5 лет своей жизни.

Электронная

Аудио
👍1
Forwarded from Dodo Engineering
Мы очень ждали релиза .NET 6, потому что хотели использовать в работе макбуки с процессорами М1 с момента их появления.

Рассказываем, чем для нас хороша техника Apple, немного вспоминаем историю развития процессоров x86 и ARM, запускаем инструменты разработки и сравниваем производительность.

Заходите почитать

#dodo_habr
Два раза в год мы устраиваем внутренний хакатон. Первый раз в районе апреля-мая, в честь дня великого падения Dodo IS.
Оффтоп: это, кстати, отдельная история, мы стараемся помнить “в какой заднице мы были”, чтобы никогда туда не возвращаться.
Второй хакатон – предновогодний. 24 декабря, 14 команд, целый день делали то, от чего дух захватывало.

Самое крутое, что у многих вещей что сделали ребята, есть большой шанс уехать в продакшн. Автостопы, бот Игорь, система трекинга заказа без авторизации, несколько вариаций на переосмысление меню, улучшение поддержки, silent-mode для принтеров, новые пуши, ачивки и виртуальный франчайза. Отдельно почитайте твит Леши, нашего iOS разработчика, про совместный заказ. Крутая тема!

Я был в команде, которая делала проект виртуального франчайзи, писал код мобильного приложения на Flutter. Запустили на iOS в итоге, с бэком на .NET. Это наша попытка посмотреть на то как устроены продажи франшизы, основываясь на реальных данных мы имитируем работу сети из 20 пиццерий. Сделали не все что хотели, но это уже живое приложение с частью реальных данных, можно дальше добавлять уведомления, симуляцию разных событий и покажем то, как Dodo IS реагирует на них.

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

Скоро на продакшене 🙂
👍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