Моя карьера в inDriver, или становление компании-«единорога»: часть II

 Публичный пост
28 декабря 2023  2050

Всем привет! Меня зовут Мичил Андросов и это вторая часть истории о том, как мы строили компанию-единорог и как всё это выглядело изнутри с точки зрения простого работника inDriver. Первая часть была пробной, поэтому она доступна на русском языке только для подписчиков Вастрика или на английском на Hackernoon.

На этот раз, я расскажу вам про средний период моей карьеры в inDriver — примерно с 2016 по 2020 годы. Это были годы, когда компания встала на ноги и начала очень активное развитие по всем направлениям. Об этом и пойдёт речь ниже.

Бизнес

Когда начались первые успешные старты вне Якутска мы поняли, что наша идея для бизнеса крутая и начали думать: «А что, если получится захватить мир?». Вообще, живя в Якутске, всегда чувствуешь себя отдалённым от остального мира. Всё будто происходит где-то в другой реальности и, возможно, помогает иначе оценивать события в мире. Лично мне то, что тогда творилось с inDriver, казалось какой-то игрой.

А ещё нам понадобились ресурсы, в первую очередь, кадровые. А так как inDriver родился внутри большой местной IT-компании, которая называлась «Синет» (об этом подробно в первой статье), то в 2016 году к нам прилетел десант. Перешли ключевые сотрудники «Синета», в том числе, несколько разработчиков. Тогда у меня появилась первая настоящая iOS-команда, лидом которой я стал.

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

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

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

Конечно, не все старты были успешными. Помню первый старт в США в 2018 году: мы сильно готовились, набирали водителей, делали рекламу. Поначалу нам казалось, что всё получается — в первые дни после старта заказов становилось всё больше и больше.


Мы были в приятном удивлении: неужели так просто запуститься на одном из самых крупных мировых рынков? Ведь если ты успешен в США, то, считай, жизнь компании удалась (по крайней мере, мне так казалось). Но радость быстро сменилась огорчением: мы столкнулись с огромной индустрией обналичивания краденых банковских карт и мошенники расплачивались ими в нашем сервисе.

Поэтому мы быстро свернули деятельность в США до лучших времен. Они наступили в 2023 году — мы стартовали США во второй раз, на этот раз намного успешнее. Старты там всё ещё продолжаются.

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

Продукт и технологии

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

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

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

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

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

Вот так выглядело пассажирское приложение inDriver в 2017 году

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

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

А ещё у нас, наконец, появилось полноценное тестирование в лице QA-специалиста. Он сильно облегчил нам жизнь, потому что до его прихода нам приходилось самим проверять всю новую функциональность и то, как новый апдейт ложится поверх старого. Это отнимало много времени и сил.

Мобильные разработчики с трудом, но также потихоньку появлялись у нас в команде. Острее ощущалась нехватка iOS-разработчиков в Якутске, потому что вкатиться в iOS в то время было тяжелее из-за необходимости иметь устройство от Apple. Из-за этого iOS-команда иногда отставала от Android в скорости запуска фич.

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

В конечном итоге мы восстановили свою работоспособность в стране, а через пару лет нам официально сняли блокировку. Помню, как писал на почту Самату Галимову, тогда CTO одного из главных новостных сайтов СНГ, тоже заблокированного в Казахстане, и спрашивал, как они смогли сохранить работоспособность.

Ко многим фичам, которые сейчас кажутся совершенно очевидными, мы пришли итеративно или случайно. Например, беззвонковая схема заказа авто. Для тех, кто не читал первую статью, расскажу кратко, в чём её суть. Раньше пассажир inDriver создавал заказ, а водитель видел его у себя в ленте и напрямую звонил ему! И это с учётом того, что мы не выбирали конкретного водителя, который увидит заказ, а просто рассылали его всем ближайшим.

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

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

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

Беззвонковая схема, которая существует почти во всех приложениях такси, была придумана случайно. В 2016 году мы стартовали в Екатеринбурге и внедрили туда «гвардейцев» — специально нанятых водителей, которые брали заказы, которые не взяли обычные водители. Мы специально отправляли им пуш, что есть заказ только для них.

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

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

Решили, что для отправки заказов «гвардейцам» используем эту фичу. Эта штука взлетела и сразу начала хорошо работать. Было решено, что теперь будем отправлять её всем водителям. Казалось бы, очевидная вещь, но мы к этому пришли случайно, методом проб и ошибок.

Команда

Мы были чисто якутской командой до 2019 года. Так было, потому что наряду с желанием развивать свою родную республику, хотелось развивать и местных ребят. Вообще, в «Синете» всегда была сильная миссия и ценности, которые находили отклик у каждого работника — мы всегда их придерживались.

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

Отличительной чертой «Синета» были тусовки. Команда была молодая, беззаботная, мы вместе хорошо работали и отдыхали. Каждый год компания устраивала нам корпоративные выезды за границу: в Египет, Таиланд, Казахстан и так далее.

Представьте, полный самолет коллег летит из якутских -50 градусов в тайские +35. Это было очень круто! Теперь в команде несколько тысяч человек и, к сожалению, такие выезды уже не проводятся.

Бэкендер чинит прод, сидя на пляже на Боракае, в перерывах между отдыхом

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

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

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

По прошествию нескольких лет всё это кажется весёлым приключением. Но на тот момент я несколько раз думал: «Зачем мне всё это нужно, почему вообще я взялся за этот ремонт?». Основные проблемы были связаны с фирмой, которая занималась ремонтом офиса. Дошло до того, что я вместе с ними проводил электрическую проводку до рабочих мест наших инженеров, потому что они провалили все сроки.

Помню один из вечеров, когда мы остались допоздна, чтобы собирать мебель. Я заметил, что мои коллеги, с которыми мы вместе делали ремонт, сидели в полном унынии. Чтобы развеселить их, я сказал: «Вы чего такие кислые? Взбодритесь, нам в следующем году открывать офис на Белорусской!». На Белорусской тогда находились и находятся офисы классных IT-компаний типа «Авито». Тогда мы посмеялись и пошли дальше работать.

Вот так после основной работы мы собирали мебель

В конце 2019 года к нам начали приходить первые работники в московский офис разработки. Тогда они казались мне наполовину инопланетянами, потому что говорили: «У нас спринты, я закончил все задачи и пришёл к вам на собеседование». А время — обед четверга. Или: «Мы работаем три дня из дома и два — из офиса».

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

Заключение

2020 год мы встретили в оптимистичном настроении. Открыли новый офис разработки в Москве, к нам пришли классные ребята. А я сам живу в столице, работаю в самом центре, бизнес растёт, инвестиции на носу!

А ещё был такой уютный маленький офис в Кремниевой долине. Если что, не всё здание было нашим офисом

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

Но в этом месте моё повествование, как в фильмах про Гарри Поттера, становится чуточку мрачнее — здесь мы сталкиваемся с вызовом. В 2020 году мир накрыло пандемией коронавируса. inDriver закрыл офисы и мы ушли работать из дома, хотя до этого всегда были против такого формата.

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

А в середине 2020 года я, неожиданно для себя, стал СТО в inDriver. У меня было немногим более 50 человек в разработке, четыре распределённые команды, два офиса в Москве и Якутске и куча челленджей. Но об этом подробнее расскажу уже в следующей части.

P.S Кстати, моя шутка про офис на Белорусской быстро стала реальностью. В конце 2020 года мы открыли ещё один офис в White Stone, как раз напротив «Авито».
P.S.S CEO inDrive Арсен Томский только что выпустил свою новую книгу. Многие моменты из этой статьи описаны в ней более подробно. Поэтому если понравилась статья — переходите по ссылке.

Связанные посты
10 комментариев 👇

Спасибо за вторую часть статьи, первая очень понравилась и вдохновила прочитать книгу Арсена.

Ride Hailing (да и весь mobility сектор - доставка еды, самокаты, велики, кар шэринг) мне в целом очень интересны, так как сам я работаю в эстонском Bolt, а до этого работал в немецком Delivery Hero.

Книгу закончил читать буквально позавчера, но очень расстроился, что про сам InDriver там очень очень мало - хорошо если 40-50 страниц наберётся.

Жду дальнейших частей! Спасибо :)

  Развернуть 1 комментарий

@kvaranovich, Кирилл спасибо! А ты прочитал обновленную книгу https://book.indrive.com/? Это в дополнение к старой книге, Арсен написал новые главы)

  Развернуть 1 комментарий

@michilly, я читал вот эту версию: inDriver: От Якутска до Кремниевой долины. История создания глобальной технологической компании (Russian Edition) https://amzn.eu/d/atGc7iF
На первый взгляд, сравнивая с книгой по ссылке которую ты скинул, какие-то вещи обновлены/дополнены, но новых глав не вижу. Это именно новая книга или переиздание?

  Развернуть 1 комментарий

@kvaranovich, привет! по моей ссылке, там добавились истории примерно с 2016 по 2020 годы)

  Развернуть 1 комментарий

@michilly, спасибо! Сделаю diff, и прочитаю новые фрагменты :)

  Развернуть 1 комментарий

Поделился статьей в ctodailychat. Там прислали интервью с Арсеном. Я только начал смотреть, мне уже с первых минут нравится!

  Развернуть 1 комментарий

@oskar, спасибо что поделился! С удовольствием посмотрел

  Развернуть 1 комментарий

@oskar, спасибо Оскар за шеринг! Да, Арсен супер-крутой чел!

  Развернуть 1 комментарий
Nastya Prisyazhnaya budding Data Scientist / Maching Learning / LLM (ex seasoned PM) 29 декабря 2023

Представляешь, сегодня вспомнила про твой первый пост и подписалась на тебя 10 минут назад, чтобы получить алерт о новом посте. Вот это подарок, спасибо!!

  Развернуть 1 комментарий

@anastasiaprisyazhnaya, офигеть! Приятного продолжения чтения)) И с новым годом!

  Развернуть 1 комментарий

😎

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

Что вообще здесь происходит?


Войти  или  Вступить в Клуб