Всем привет! Меня зовут Михаил Андросов и это вторая статья в моей серии об истории inDrive , где я предлагаю взглянуть изнутри на создание нашей компании-единорога с точки зрения простого разработчика. Первая статья доступна здесь . В нем я рассказал о том, как пришел в компанию, как мы расширили команду разработчиков и как вышли на международный уровень.
Эта статья будет охватывать средний период моей карьеры в inDrive — примерно с 2016 по 2020 год. В то время компания начинала твердо стоять на ногах и стремительно развиваться во всевозможных новых направлениях, о которых я расскажу в подробнее ниже.
После наших первых успешных запусков за пределами Якутска мы наконец начали осознавать силу нашей бизнес-идеи. Мы начали задаваться вопросом: «А что, если нам действительно удастся захватить планету?» В конце концов, живя далеко на севере, в глубине Сибири , всегда чувствуешь себя совершенно отделенным от остального мира. Кажется, что все происходит так далеко, что на самом деле дает нам довольно уникальную перспективу. И в то время вся наша работа с inDrive казалась мне почти игрой.
За этот период компания начала активно развиваться. Когда мы начинали работу в новой стране, мы могли открыть десятки городов в течение одного месяца. Мы вышли за пределы России и запустили свою деятельность в Казахстане, где, несмотря на множество препятствий, быстро стали службой такси №1 в стране. По сей день Казахстан остается одним из наших ведущих рынков.
При запуске в новом городе мы приняли стратегию « сжигания сухой травы ». Как сказал бы наш генеральный директор, если город готов к нашим услугам, он должен быть способен загореться от малейшей искры. Итак, если бы трава в одном городе была недостаточно сухой, мы бы не стали замачивать ее в бензине. Вместо этого мы просто перейдем к следующему. Это помогло нам быстро расшириться, не тратя слишком много денег.
Фактически, ряд городов просто запустился самостоятельно. Люди услышали об этой замечательной новой услуге под названием inDrive в соседнем городе. Они скачивали себе приложение, и город запускался без нас. Было даже несколько городов, созданных самостоятельно, без каких-либо инвестиций с нашей стороны.
Конечно, не все запуски были успешными. Я помню наш первый запуск в США еще в 2018 году. Мы провели всю подготовку, набрали водителей и рекламировали нашу услугу. Поначалу казалось, что все наладилось, и наша численность росла с каждым днем.
Мы были приятно удивлены. Неужели так легко было выйти на один из крупнейших рынков мира? В конце концов, если вы можете сделать это в США, вы можете сделать это где угодно — по крайней мере, я так думал. Но наша радость быстро сменилась разочарованием: мы столкнулись с огромной индустрией мошенников, обналичивающих украденные кредитные карты и использующих их в нашем сервисе.
Итак, мы решили отказаться от наших американских планов и дождаться лучших дней, которые, наконец, наступили в 2023 году. Мы запустили программу в США во второй раз, с гораздо лучшими результатами. Этот запуск все еще продолжается. В настоящее время мы работаем в Майами и вскоре расширимся на новые города.
Оглядываясь назад, мы можем сказать, что мы были простыми и наивными. Однако мы продолжали учиться на своих ошибках и двигаться вперед.
Мы всегда считали, что наш сервис должен быть простым и безотказным, как у Nokia 3310 . Конечно, это привело к обвинениям в том, что приложение недостаточно «красивое», несмотря на то, что оно наполнено множеством функций.
Во многих странах нам пришлось адаптироваться к местному законодательству и потребностям пользователей. Поэтому приложение inDrive в Алматы может выглядеть совершенно иначе, чем в Нью-Йорке. Тем не менее, мы работали над тем, чтобы сделать приложение «красивее» во всех странах на протяжении последних лет, и лично мне кажется, что сейчас оно выглядит вполне современно.
За пределами России у inDrive появился ряд новых модулей, начиная с междугородних поездок и доставки грузов, которые теперь доступны в странах по всему миру. На некоторых рынках, например в Казахстане, они даже более популярны, чем наша вертикаль такси.
В то время наш подход к планированию продукта был простым: в конце каждого квартала наш генеральный директор возвращался из поездки в города запуска, открывал свой ноутбук и объяснял наши цели на предстоящий период. Обычно они поступали по просьбам водителей и пассажиров. У нас могли быть задачи самого разного масштаба: от введения карточных платежей до изменения цвета кнопки заказа.
Наш генеральный директор сыграл (и продолжает играть) решающую роль в развитии компании. Он одновременно превосходный мотиватор и стратег, но также опытный менеджер, понимающий, как работает продукт. Уже сейчас он лично летает в новые страны запуска, изучает рынок, ведет клиентское развитие, активно взаимодействует с пользователями и собирает отзывы о сервисе.
Что касается разработки, мы быстро поняли, что наш существующий код не сможет поддержать быстрый рост нашего бизнеса. Вскоре приложение начало тормозить и ухудшаться в качестве. Итак, мы решили переписать более «сложные» части кода.
В дополнение к монолиту PHP мы в итоге получили монолит Golang. Вся наша инфраструктура лежала на плечах двух парней, которые знали все внутренние механизмы нашей огромной машины. Если служба когда-либо давала сбой, они были готовы включить свои ноутбуки и починить проблему в любое время дня и ночи.
Также у нас появился первый QA-специалист для полномасштабного тестирования. Это сделало нашу жизнь невероятно проще. Перед проведением контроля качества мы тратили много времени и усилий на самостоятельное тестирование новых функций и обновлений, а также на проверку того, как они взаимодействуют с существующими версиями.
Постепенно к нашей команде стали присоединяться мобильные разработчики, хоть и с некоторым трудом. В конце концов, чтобы заняться iOS-разработкой, нужны были продукты Apple, а их сложно найти в Якутске. Это означало, что нам было сложно нанять местных разработчиков iOS, и наша команда iOS иногда отставала от команды Android, когда дело доходило до выпуска новых функций.
Помню, однажды в Казахстане наше приложение заблокировали на правительственном уровне. Не буду вдаваться в подробности, но чтобы отменить блокировку, нам пришлось ввести ряд различных функций, включая инструкции для пользователя, автоматическую смену адресов, прокси и многое другое.
В конце концов, мы восстановили наши возможности в стране и через несколько лет официально отменили блокировку. Я помню, как написал техническому директору крупного новостного сайта из стран СНГ, который также был заблокирован в Казахстане, и спросил, как ему удалось сохранить бизнес.
Многие из наших функций были разработаны в результате серии проб и ошибок (или обнаружены случайно), хотя в ретроспективе они могут показаться совершенно очевидными. Возьмем, к примеру, нашу систему вызова пассажиров без звонков. Если вы не читали первую статью , я быстро изложу ее здесь.
Раньше, когда пассажир inDrive создавал свой заказ, водитель видел его запрос в ленте заказов и сразу же звонил ему. И это будет не один водитель; эти приказы отправлялись всем, кто находился поблизости.
Конечно, это приводило к ситуациям, когда несколько водителей видели заказ и пытались позвонить пассажиру одновременно. Обычно заказ получает тот, кто первым свяжется с пассажиром.
Вот тут-то и возникла проблема: водители нажимали на кнопку «Поездка», не читая детали заказа, а затем все одновременно пытались позвонить пассажиру. Итак, мы создали нечто, называемое «буфер». Когда водители нажимают кнопку заказа, происходит небольшая задержка, которая дает нам время собрать все потенциальные предложения.
Таким образом, водителям не придется спешить, и у них будет время полностью прочитать детали заказа. Затем на основе рейтингов водителей система выбирает, кто из них сможет первым позвонить пассажиру. Это было значительное улучшение по сравнению с нашей старой версией.
Хотя система без звонков сейчас используется практически во всех приложениях для заказа такси, на самом деле мы придумали свою систему случайно. В 2016 году мы запустили в Екатеринбурге и представили «Стражей» — специально отобранных водителей, которые могли принимать заказы, которые обычные водители не могли. Мы отправляли им специальные push-уведомления об эксклюзивных заказах.
Однако вскоре мы поняли, что эти push-уведомления работают не очень хорошо, потому что их легко пропустить. И тут мы вспомнили об одной из наших существующих функций, называемой «персональные заказы», которая позволяла пассажиру просто выбрать ближайшего водителя на карте и отправить заказ прямо ему.
Мы решили использовать эту возможность при отправке заказов нашим «Хранителям». Он сразу же прижился и работал настолько хорошо, что мы тогда решили распространить его на всех водителей. Конечно, функция личных заказов сейчас может показаться очевидной, но мы обнаружили ее путем серии проб и ошибок.
До 2019 года наша команда полностью состояла из якутчан. В то время мы хотели помочь нашей родине расти, а вместе с ней и местному населению. inDrive всегда придерживалась сильной миссии и ценностей. Эти ценности нашли отклик у каждого сотрудника, и мы стремились их поддерживать.
Это был период мощного драйва и энергии. Каждый день я просыпался в хорошем настроении, зная, что в офисе меня ждут друзья и хороший кофе. И, конечно же, много интересной работы.
inDrive была известна как социальная компания. Наша команда была молодой и беззаботной, а это означало, что мы много работали и играли. Каждый год мы отправлялись в командировку за границу, будь то Египет, Таиланд, Казахстан или вообще куда-то еще.
Представьте себе целый самолет коллег, спасающихся от -50-градусной жары в Якутске и направляющихся в солнечный +35-градусный Таиланд! В то время это было здорово, но, к сожалению, такие поездки в больших компаниях больше невозможны, когда штат сотрудников насчитывает несколько тысяч человек.
К 2019 году мы столкнулись с проблемой найма сотрудников. Бизнес процветал, и у нас уже работали профессионалы в Якутске, способные справиться с поставленными задачами и нагрузкой. Итак, мы решили открыть офис разработки в Москве.
Мне, как руководителю команды iOS, было поручено открыть московский филиал. В то время у нас была большая гибкость, и сотрудники могли вносить свой вклад в компанию любым способом, который они считали целесообразным, при условии, что это приносило пользу бизнесу.
Я вступил в новый этап в своей жизни. Я переехал в Москву и начал процесс открытия нового офиса: от выбора бизнес-центра до установки специального освещения с логотипом компании.
Теперь, когда прошло несколько лет, я могу с любовью вспоминать то время. Но тогда я часто думал: «Зачем я это сделал с собой? Зачем я взялся за весь этот ремонт?» Наши основные проблемы были связаны с компанией, ответственной за ремонт. В какой-то момент они настолько отстали от графика, что мне даже пришлось помогать им прокладывать электропроводку на рабочих местах.
Помню один конкретный вечер, когда мы задержались допоздна собирать мебель. Я видел, что мои коллеги устали и подавлены, поэтому, чтобы поднять настроение, я спросил: « Почему такие вытянутые лица? Не унывайте! В следующем году мы открываем офис на Белорусской! » В то время (и по сей день) Белорусская была одним из самых дорогих районов Москвы, как Таймс-сквер в Нью-Йорке. Здесь также располагалось несколько впечатляющих ИТ-офисов. Конечно, мы просто посмеялись и вернулись к работе.
К концу 2019 года у нас появились первые разработчики в московском офисе. Иногда казалось, что они с другой планеты. Во время собеседований они говорили что-то вроде: «Мы работаем спринтами. Я выполнил все свои задачи и пришел сюда» (и это было только в четверг днем). Или они говорили: «Мы работаем три дня из дома и два дня из офиса».
Это было что-то совершенно новое для меня. В то время inDrive полностью располагался в офисе, и ожидалось, что каждый будет вносить полный вклад. Мы не работали ни с какими канбанами, скрамами, сюжетными точками или спринтами.
В 2020 год мы вошли с большим оптимизмом. Наш новый офис разработки в Москве открылся, и мы работали в отличной команде. Я жил в столице, бизнес развивался, инвестиции шли!
Когда компания получала инвестиции, мы проводили обналичивание, то есть сотрудники могли продать небольшую часть своих опционов на акции за реальные деньги. Казалось, все шло своим чередом, как будто мы жили в кино.
Однако, к сожалению, на этом этапе моей истории все становится немного мрачнее, как в фильмах о Гарри Поттере. Внезапно мы столкнулись с огромной проблемой. В 2020 году мир был остановлен коронавирусом. inDrive закрыла свои офисы, и мы начали работать из дома — против чего мы всегда категорически выступали.
Жизнь взяла новые правила и нам пришлось быстро найти свою точку опоры. Мы разработали новые процессы, приняли первые онлайн-звонки и отправили домой ноутбуки новым сотрудникам.
Затем, в середине 2020 года, я стал техническим директором inDrive. Это было неожиданностью даже для меня самого. Мне поручили руководить более чем 50 разработчиками, 4 распределенными командами и двумя офисами в Москве и Якутске. Конечно, было много проблем, о которых я расскажу подробнее в своей следующей статье.
PS Моя шутка про наш офис на Белорусской быстро стала реальностью. В конце 2020 года мы открыли офис в одном из лучших бизнес-центров Москвы, прямо на Белорусской площади, среди других крутых IT-компаний.