Интервью сразу с двумя СТО, которые управляют разработкой и совсем не ссорятся (правда).

Короткая справка о компании

Chibbis – российский​ агрегатор доставки еды из ресторанов и кафе со штаб-квартирой в​ Архангельске, ставший в 2022 году ​(по версии РБК) крупнейшим агрегатором в регионах.

Проект создан друзьями-предпринимателями Сергеем Крючковым и Романом Копниным в 2015 году и до сих пор не привлекал сторонних инвестиций.

Поворотным моментом в истории проекта стало прохождение акселератора ФРИИ в 2016 году, где основатели отточили свои навыки по продвижению своего агрегатора в разных городах России. ​Свои достижения основатели объясняют в том числе тщательно подобранными членами команды, ценят каждого сотрудника.

Ключевыми фигурами в отделе разработки из 30 человек являются сразу два технических директора:​ Дмитрий Бурдин и Константин Попов. ​Они занимались разработкой сервиса с 2013 года, когда проект еще не был официально запущен. 

Как родилась идея продукта? Как к вам, технарям, ​ пришли основатели или, ​ может, вы сами участвовали в генерации идеи?

- Константин:

Cначала ребята (основатели Сергей Крючков и Роман Копнин) обратились с готовой идеей к Диме (он был их одноклассником), а он уже привлек меня. Первоначально мы должны были сделать аналог Delivery Club, но в упрощенном виде для одного города - Архангельска, поскольку DC тогда не был представлен там.

- Дмитрий:

Да, идея родилась у Романа, он как-то в далеком 2013 году приезжал к нам в СПб и поделился ей на общей тусовке, спросил, смогли бы мы такое запилить. Я, разумеется (смеется), ответил, что никаких проблем нет, при этом опыта именно в веб-разработке у нас по факту на тот момент практически не было, но мы писали достаточно сложные в плане логики десктопные приложения уже несколько нет.

Что вам предлагали ​ за работу: деньги или ​ долю/опцион?

- Константин:

Денежное вознаграждение нужно было определять самим. И тут, как это часто бывает без ТЗ, дизайна и какого-то опыта во фрилансе, мы ткнули пальцем в небо. Нам показалось, что от нас хотят простой интернет-магазин с дополнительной вложенностью в виде витрины магазинов. Мы загуглили несколько студий, по тем временам цены на интернет-магазины были от 100 тыс. рублей, поэтому мы такую цену и озвучили. Через год нам предложили 10% компании на двоих за создание мобильных приложений. Тогда мы предпочли денежное вознаграждение. Если не ошибаюсь, то за две платформы мы попросили 50 тыс. рублей на двоих. В 2016 году Рома и Сережа проходили акселерацию во ФРИИ и предложили нам уже по 3% доли компании.

- Дмитрий:

Помнится, мы озвучили какую-то очень смешную сумму, рассчитывая на то, что это больше история про наше проф. развитие - очень хотелось освоить новые навыки. История с долей появилась гораздо позже, спустя год, когда продукт уже был готов и надо было развиваться, а денег ​ особо не было.

Как вы отреагировали на такое предложение, долго ли думали?

- Константин:

Предложение было интересным. Больше всего было переживаний, что мы не справимся и не сможем выполнить работу, т.к. мы работали в офисе в качестве .NET-разработчиков, а ​ Chibbis в то время был для нас только подработкой.

Были ли до вас те, кто отказался браться за такую работу?

- Дмитрий:

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

А что вас заинтересовало в проекте и все же соблазнило согласиться?

- Константин:

В первую очередь, нас интересовали новые технологии: до Chibbis ​ был опыт только десктопной разработки на C# WPF. Во-вторых, важен был дополнительный доход: мы собирались справиться за три месяца и немного заработать, а в итоге разработка растянулась на год (смеется).

- Дмитрий:

В то время веб-разработка была на хайпе (разработка приложений тоже была, но не настолько популярна): у нас руки чесались «пощупать» технологии, понять, что там такого сложного и интересного, почему все хотят туда. Учитывая, что мы работали на достаточно сложных проектах, в которые пришлось «въезжать» в сжатые сроки, не имея познаний предметной области, была некая самоуверенность, что и тут разберемся. Разбирались год (веселится).

Какое у вас в целом отношение к стартапам?

- Константин:

Мы с Димой учились в одной группе в вузе, ​ и после учебы вместе работали в одних и тех же компаниях. У меня даже был случай, когда я пошел на собеседование, где до меня был Дима, и интервьюер в шутку назвал нас Моней и Хряпой: как-то мы всегда дополняли друг друга, вместе работали над разными проектами и были неразлучны. И многие места, где мы трудились, как раз и были стартапами, где ты не чувствуешь себя зажатым в рамки, постоянно сталкиваешься с какими-то вызовами, решаешь сложные задачи на всех уровнях разработки, и это подкупает.

- Дмитрий:

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

  • множество абсолютно разных, но при этом интересных задач (не заскучаешь);

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

  • коллектив меньше, общение плотнее, деревья выше, трава зеленее, ну вы поняли​ (со смехом).

Расскажите, как вы делали первую версию​ сайта, что в ней было, что пришлось выкинуть по каким-то причинам?

- Константин:

Самый первый дизайн сделал мой знакомый по баскетбольной секции Влад. Сережа с Ромой одобрили, и мы приступили к реализации. 

Первый дизайн сайта:

Но через полгода они нашли дизайнера, оценившего сайт репликой «не бомба» (улыбается). В итоге дизайн переделан существенно, но под него нужно было переписывать почти весь бэкенд и переверстывать все страницы. Дизайн был правда интересный, лучше, чем дизайн моего знакомого. И теперь у нас ​ ​ в команде есть любимая история про помидоры, связанная как раз с этим «бомбическим» дизайном: там был слайдер, на котором были представлены слайды с пиццей, бургерами и какая-то общая информация, один из слайдов мы переверстывали, наверное, раз 50, потому что Роме сначала виделось слишком много помидоров, потом их было слишком мало, и так по кругу (забавляется).

- Дмитрий:

Да! Это растянуло запуск сайта еще на 4 месяца, а фраза «Дизайн - не бомба» стала внутренним приколом команды (хохочет).

Бомбический дизайн:

А как ​ вы делали первые мобильные приложения?

- Константин:

Я тогда фанател от Apple, и мне очень хотелось попробовать разработать мобильное приложение. Как раз пришел запрос на разработку мобильных приложений от ребят. Сначала начали делать iOS-версию, потому что у нас были айфоны и вышел первый Swift, который был похож на C#, но в итоге разработка приложения для iOS обернулась болью. Apple постоянно выпускала новую версию Swift без обратной совместимости, и ломалось абсолютно все от верстки до бизнес-логики. Спустя несколько месяцев страданий я бросил разработку на Swift и сделал WebView приложения для iOS и Andriod.

Прототип первого мобильного приложения для iOS:

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

Сейчас уже не webview создаете? Может, ​ кроссплатформа уже? Почему начинали с iOS, а не более популярного Android?

- Константин:

Это сейчас понятно, что Android более распространен и надо было начинать разработку с него, но тогда для нас определяющим фактором было наличие телефонов для тестирования, а у всех на тот момент были телефоны Apple. C WebView приложениями мы прожили примерно 4 года. Возможно, мы могли посидеть на них еще какое-то время, но Apple и Google сменили политику из-за большого количества WebView приложений в своих магазинах и перестали пропускать сборки в Маркет. Как только мы узнали об этом, сразу начали разрабатывать полноценные нативные приложения. Кроссплатформа уже была тогда, но те решения показались нам сырыми. Мы рассматривали вариант делать приложения на Xamarin, но решили сделать полноценные нативные приложения на Objective-C для iOS и Java для Android. Разработку отдали на аутсорс. Приложения сделали примерно за год. Нельзя сказать, что все было гладко – в середине разработки нам пришлось сменить аутсорс-компанию.

Намучившись с аутсорсерами, пару лет назад мы перенесли разработку мобильных приложений инхаус. Текущие приложения, которые сейчас доступны в «сторах», все еще являются отголосками кодовой базы аутсорсеров, хотя там уже многое переписано. Первым в команду мы наняли очень толкового Android-разработчика, который занимался поэтапным переводом приложения на Kotlin. С iOS-разработчиками нам везло меньше, поэтому приложение так и осталось на Objective-C. В настоящий момент у нас активная фаза разработки новых мобильных приложений, которые пишутся уже полгода с нуля. Новое Android-приложение было решено делать многомодульным проектом с отдельно вынесенным UiKit, используя Jetpack Compose. iOS-приложение было решено делать классическим MVVM проектом, для разработки пользовательских интерфейсов (UI) выбрали SnapKit. SwiftUI пока решили не использовать.

Как долго прожили с самой первой версией, прежде чем переписать все с нуля?

- Константин:

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

​ - Дмитрий:

Мне кажется, что мы прожили с первой версией целую вечность. ​ Старый сайт (а мы как раз где-то полгода назад запустили наконец-то новый) по факту является той самой первой версией, во многом перелопаченной сотнями гипотез, но максимально похожей по оформлению и структуре; внутри, конечно, там уже всё тотально другое.

Как строился процесс разработки на старте и как менялся с ростом числа задач и идей от команды?

- Константин:

Первые четыре года мы с Димой были единственными разработчиками, девопсами, саппортами и тестерами. Фичи декомпозировали и распределяли между собой. Поток фич был небольшой, но и у нас были ограничения по пропускной способности, потому что мы все еще работали в офисе на основной работе и Chibbis​ ​ был для нас второй работой. Вспоминаю те времена и удивляюсь, как мы не перегорели, работая по 14-15 часов в сутки, без выходных.

- Дмитрий:

В начале, мы, конечно, «фигачили» вдвоем по вечерам, ночам и выходным - в общем, в любую свободную минуту.

- Константин:

В какой-то момент силы все-таки закончились, и мы приняли решение полностью перейти в Chibbis, с этого момента начался рост команды. Сейчас тех. Команда состоит из 30 человек.

​ - Дмитрий:

Да, в 2018 году мы окончательно перешли в Chibbis, там уже была небольшая тех. команда, которую мы курировали. Активный рост в числе начался с приходом эпохи ковида. Бизнес стал очень быстро расти (мы и до этого активно росли каждый год, но с ковидом все стало еще быстрее): задач стало гораздо больше. До 2021 года мы еще худо-бедно обходились без HR - руководители отделов сами искали себе подчиненных, писали тексты вакансий, отсматривали резюме, проводили первичный отбор и дальнейшие собеседования. А в 2021 году мы поняли, что в таком режиме уже не вывозим и нашли суперколлегу HR - Ксюшу, которая всю эту историю взяла на себя, и в результате команда за 1,5 года выросла в 3 раза.

Каково быть тестером своего продукта?

- Константин:

На самом деле эффективнее, чем кажется, потому что объект тестирования не является для тебя черным ящиком. Ты потенциально знаешь узкие места и где они могут выстрелить. Минусы, конечно, тоже присутствуют: со временем глаз «замыливается» и можешь не замечать каких-то недочетов. Тут на помощь нам приходили Сережа с Ромой - они тоже первое время активно тестировали.

-Как в команде уживаются два СТО? Как вы разделяете обязанности?

- Дмитрий:

Да нормально уживаемся, столько лет уже занимаемся любимым делом, успели притереться (улыбается). Я ​ отвечаю за web-направление, Костя - за мобильные приложения, но ключевые вопросы всегда обсуждаем совместно.

- Константин:

Каждый из нас мог сделать любую фичу в​ Chibbis, но в итоге вот так удачно разделили обязанности.

Как тесно вы работаете с командой бизнес-направления? Кто для вас проводник в мир пользователей?

- Константин:

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

- Дмитрий:

Работаем тесно. CMO – наш продакт, приходит к нам с запросами на фичи. Ответственный за курьерское направление – наш проджект-менеджер этой же линии. По остальным отделам есть прямая связь с руководителями и их сотрудниками через саппорт и личное общение руководителей между собой.

Что за продукт у вас сейчас, какие у него составляющие, что в нем самое интересное с точки зрения технаря?

- Дмитрий:

Продукт состоит из 4 условных проектов (направлений): consumers (приложения и сайт), internal (бизнесовая админка), couriers (собственные курьеры) и partners (личный кабинет партнёра, различные интеграции по меню и заказам). Из интересного: в прошлом году мы завершили наш геройский «распил» монолита на микросервисы (ушло по факту 2 года) - теперь это хозяйство из ​ 60 сервисов примерно надо содержать и развивать (привет, консистентность) (смеется). Также мы запустили новый сайт на React с серверным рендерингом, сейчас запускаем новые приложения, переписываем бизнесовую и курьерские админки. Хостимся в нескольких датацентрах, используем разные базы данных, стараемся работать с последними версиями фреймворков. У нас куча задач и небольшая команда, в итоге все всегда при делах. Из нескучных насущных задач - классическая задача коммивояжера, адаптированная под реалии наших курьеров, её можно совершенствовать бесконечно.

- Константин:

Сейчас сервис состоит из бэкенд-части, которая представляет собой порядка 60 микросервисов, написанных на .NET 7.0, фронтенд-части, написанной на React + Redux с SSR и нативных мобильных приложений. Из интересного могу назвать текущий переход Android-приложения на Compose. Как это обычно бывает, столкнулись с отсутствием внятной документации, словили кучу недоработок со стороны Гугла и сторонних библиотек. Например, у Яндекс.Карт до сих пор нет поддержки Compose.

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

- Константин:

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

Где ваши слабые места? ​ Что хотели бы прокачать?

- Константин:

Сейчас на хайпе искусственный интеллект и нейросети, хотелось бы попробовать что-то в этом направлении.

- Дмитрий:

Работа с людьми - одна из самых сложных во все времена, тут нет предела совершенству.

За 8 лет работы бывало такое, что хотелось все бросить по каким-то причинам? Что вас удержало?

- Дмитрий:

Эмоциональное выгорание – куда ж без него в​ IT (смеется). Помогает работа над собой и, конечно, чувство ответственности. Большинство людей в тех. команде я отбирал лично, не хочется их подводить.

- Константин:

У меня за 8 лет было много разных ситуаций, бросить не давала ответственность за проект. Особенно трудно было первые годы, когда мы совмещали две работы, сил было мало. Когда мы перешли на полную ставку в​ ​ Chibbis, было трудно адаптироваться к удаленке. С одной стороны, удаленка – это некая свобода, ты не привязан к месту, можешь работать откуда угодно, но с другой стороны, работали мы из дома, и рабочий день никогда не был фиксированным. По факту работа на удаленке может быть бесконечной, потому что тебе постоянно кто-то пишет и ты можешь легко весь день не отходить от рабочего места. Бывало, я по три дня из дома не выходил, сидел дома и работал. Также почти все 8 лет релизы проходили у нас по ночам, когда на сервисе меньше всего пользователей. Это могло пройти быстро, а могло затянуться до утра. Особенно тяжело было, когда появились дети. Ты сидишь до утра, ложишься спать и тебя тут же будят. Огромное спасибо супруге: с пониманием относилась и старалась давать мне выспаться.

Почему не ушли в более крупные компании?

- Константин:

Не было такой необходимости, верил, что Chibbis станет крупной компанией. Таков удел стартапов - тебя либо покупает крупная компания, либо ты сам становишься полноценной крупной компанией.

- Дмитрий:

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

Где у вас офис сейчас? Как построен рабочий день, когда проходят совещания?

- Дмитрий:

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

- Константин:

Да, вся команда работает на удаленке с первого дня основания, сейчас команда распределена по всему миру, часовые пояса у всех разные. Для удобства взаимодействия у нас заведены «присутственные часы» с 12 до 18 по МСК, в которые по необходимости и проводятся совещания, остальное время разработчики распределяют сами. А еще у нас нет дресс-кода

Что вас мотивирует? Посоветуйте книгу/статью/мероприятие, которые вдохновили.

- Константин:

Лучшим мотиватором для меня была учеба в университете по специальности «Техническая физика», которая показала, что при желании можно разобраться во всем. Поэтому посоветовать могу получать техническое образование. Сейчас много профессий можно освоить онлайн, особенно технических. Я не против этого подхода, даже наоборот. Многие мои знакомые кардинально сменили вид своей деятельности и перешли в IT. Но с другой стороны, квалификация кандидатов из-за этого сильно упала, особенно это чувствовалось в ковидную эпоху, когда была нехватка разработчиков и многие компании снизили критерии отбора кандидатов. Если есть силы и желание пойти получать классическое техническое образование, то выбирайте из ТОП-10 технических вузов РФ тот, который находится ​ ближе к вам по месторасположению. Там точно научат и программировать, и мыслить нестандартно, но стоит поторопиться, потому что ИИ на подходе.

- Дмитрий:

Для вдохновения: ​ Максим ​ Дорофеев ​ «Джедайские техники», Том ДеМарко «Deadline. Роман об управлении проектами», а также Алан Уотс, Рам Дасс.


Хочу поблагодарить читателей за внимание! Если вы дочитали до конца и вам понравилась статья, буду рад вашей подписке на мой подкаст об ИТ-бизнесе и стартапах «Стартап-секреты» на любой удобной площадке. Там целая библиотека, разбитая на темы, где уже более 50 интервью с предпринимателями и экспертами стартап-индустрии.

Комментарии (5)


  1. dprotopopov
    08.09.2023 11:55

    https://ru.wikipedia.org/wiki/Архангельск
    Население298 617[4] человек (2023)
    Целевая аудитория, я так понимаю 20-30 лет - значит (30-20)/75*300 000=40 000 чел (порядок совпадает с числом заявленных инсталлов, но надо учитывать приврать)

    Допустим каждый раз в неделю делает заказ - 50*40000/360 = 5555 заказов в день

    Какая коммисия с 1-го заказа? Допустим - 10р

    Выручка = 50 000 р в день

    Стаф - я так понял чел 10 за 2-3т на руки и надо уплатить налоги - 30 000 р в день

    Аренда и оборудование - надо хоть 100 м2 в аренду по 100 р за м2 в день - 10 000 р в день

    Ну да - может будет 10 000 р в день до уплаты налогов

    плюс наезды, откаты, проверки, конфликты ...

    А оно мне надо? Я как наёмный более счастлив


    1. Sild
      08.09.2023 11:55

      Какая у вас забавная формула для определения количества заказов в день. Я понимаю что она правильная, но какая-то интуитивно-непонятная. Почему не 40000 * 360 / 7?


      1. dprotopopov
        08.09.2023 11:55

        > каждый раз в неделю делает заказ

        но сейчас другое поколение - другая математика

        Почему не 40000 * 360 / 7?

        Потому 40000 * 360 / 7 / 360


      1. BaBL
        08.09.2023 11:55

        Я ни его, ни вашу не понимаю. Если у нас есть 40000 человек и мы распределяем их по 7 дням - то это просто 40000/7 = 5715 равномерно распределенных заказов в каждый день недели.

        Комиссия с заказа обычно у аггрегаторов не 10р., а около 30% и если средний чек рублей 500 - то это 170р с заказа. Но надо смотреть всю модель, там есть еще скидки, штрафы, компенсации за плохое блюдо, проепаную доставку и т.д.

        Так что рассчеты вообще ничего общего с реальностью не имеют и даже за уши к чему-то притянуть не получится.


  1. sevmax
    08.09.2023 11:55

    Shlangalangazh таки прочитан, да!