редакции Выбор
Пять историй от бывшего технического директора Avito
В новом выпуске подкаста «Запуск завтра» один из первых разработчиков Avito Роман Павлушко рассказал ведущему Самату Галимову о том, как появился популярный сегодня интернет-сервис. То, что начиналось как команда из двух ребят, за десять лет разрослось до команды из 400 разработчиков, а Avito стал одним из самых популярных российских интернет-сервисов.
Для Павлушко путь в разработке начался в 2000-х годах с хобби. В школе он любил компьютеры, а после окончания поступил на инженера по разработке месторождений. Специальность с программированием не связана, но молодой человек увлекся разработкой и по ночам писал код. После ВУЗа успел поработать в «Газпроме», но в 2007 году решил связать свою жизнь с IT и ушел в Rambler. Уже после этого стал работать в стартапах, так как «хотелось что-то создать». В какой-то момент пригласили делать Avito.
Как обогнали «Из рук в руки»
Avito был лишь одним из четырех первых российских проектов основателей — шведов Филипа Энгельберта и Йонаса Нордландера. Но выжил именно он, и на нем сконцентрировались все усилия.
«Это был маленький стартап, в котором надо было много и быстро говнокодить»
«Два программиста, дизайнер, специалист службы поддержки, основатель — и всё», — так Павлушко описывает команду. По его словам, серверы самостоятельно возили в дата-центры в багажнике такси.
Задачей на первых этапах было быстро вырасти и обойти по трафику электронную версию «Из рук в руки», у которой тогда было около 8 тыс. просмотров в минуту. У самого Avito было около 200 тыс. пользователей в сутки преимущественно покупного трафика, который партнер стартапа научился привлекать по 1,5-2 рубля за клик. Секрет был в том, что мало кто использовал низкочастотные запросы вроде «купить наушники аудиотехника в Нижневартовске». Павлушко вспоминает, что издание «Из рук в руки» потом тоже начало скупать рекламу, но анализ показал, что они платили по 8-9 рублей за клик.
«Интерны в найме»
Долгое время команда состояла из четырех человек. Когда ее стали расширять, столкнулись со сложностями. «Мы были джуниоры в найме, — говорит Павлушко. — Ну, или даже интерны». Один человек не появлялся на работе во время испытательного срока и предлагал многочисленные оправдания. Другой проработал несколько дней, а потом исчез и даже не забрал трудовую книжку. Еще у одного человека были проблемы с коммуникацией в команде: он не хотел соблюдать договоренности о том, как писать код. «Разработчики — это не просто набор компетенций, механика, но тебе надо подбирать правильного человека в команду», — говорит Павлушко.
На ранних этапах в компании не были выстроены процессы. Когда команда стала разрастаться, пришлось выстраивать управление и контроль. По словам Павлушко, не все занимались тем, что от них требовалось: «Вместо того чтобы сделать важную юзерскую фичу, он делает какую-то финтифлюшку, которую где-то увидел и решил, что очень круто сделать такое на сайте», — поясняет разработчик. Кто-то мог вечером или на выходных запрограммировать новую фичу, а остальные узнавали о ней уже из продакшна. Примерно так, по словам Павлушко, появилась первая мобильная версия сайта Avito.
Самый большой фейл
Когда в компании стали разрабатывать мессенджер, на многих других сайтах уже была функция переписки. На Avito же к этому времени помимо связи по телефону можно было только через форму на сайте ввести свой email-адрес, имя и текст сообщения, которое автор объявления получал на свою почту. Мессенджер должен был сильно изменить модель коммуникации пользователей сайта.
Команда понимала, что новой функцией сразу будут пользоваться десятки тысяч пользователей в минуту. При этом тестировать с точки зрения потребностей пользователя новую функцию не стали. «Сделали архитектурку, чтобы потом антиспам прикрутить, поиск прикрутить, базу скейлить, сокеты сразу», — вспоминает Павлушко. Код написали на Node.js — на тот момент новой технологии, причем занимался проектом один человек. К тому же релиз новой функции не согласовали с админами и техподдержкой. В итоге пара сотен человек в техподержке два месяца объясняли пользователям, как им пользоваться мессенджером.
Как боролись со спамом
Для борьбы со спамом в Avito начинали с постмодерации, но иногда не успевали вычистить объявления о проституции и прочий спам, который быстро попадал в топ. В ответ на это команда сделала отложенный показ объявлений: пользователь видел их только через полчаса после публикации, а за это время два модератора должны были их проверить и одобрить. По мере роста этот процесс пришлось начать автоматизировать.
Современные технологии позволяют часть процесса переложить на машинное обучение, а люди только обучают модель, обрабатывая часть потока. При этом полностью автоматизировать процесс не получается. По словам Павлушко, миллионы пользователей постоянно пытаются обойти правила, и алгоритмы приходится постоянно усовершенствовать в ответ на их находки. «Это бесконечная гонка вооружений: кто кого — спамер или твоя команда», — объясняет он. В итоге над каждым объявлением работают десятки моделей машинного обучения, которые не должны допустить публикацию спама и нарушений закона.
«У нас акселераторов и инвесторов больше, чем стартапов»
Павлушко работал в Avito до конца 2018 года. Теперь он консультирует компании, а также ищет интересные стартапы для инвестиций. В числе таких проектов он называет сервис аренды лофтов bash.today, сервис подбора гидов для рыбалки fish.travel. По его словам, в России много сильных команд, но не развита культура стартапов. «У нас, наверное, акселераторов и инвесторов сейчас больше, чем стартапов, — объясняет программист. — Все просто деньги раздают, а больше ничего давать не хотят». Сам он не только инвестирует в перспективные проекты, но и помогает советом: указывает направления, на которых стоит сфокусироваться, кем стоит дополнить команду.
Одну из главных составляющих успеха стартапов Павлушко видит в правильной команде и ее соответствии идее и рынку. По его словам, «есть какая-то консистенция», с которой «получается хорошо». «Хочется найти, какие команды тащат, какие идеи и на каких рынках затаскивают, что может пойти не так», — говорит он. В числе того, что может погубить стартап, он называет преждевременные архитектурные оптимизации и неправильных людей в команде. «С людьми лучше не рисковать, — говорит он. — Взять не того — это намного хуже, чем не взять того».
Читайте также:
Почему идеальный пользовательский опыт достигается при нулевом интерфейсе
Что общего у обезьян и пользователей соцсетей
Упражнение для продакт-менеджера и продакт-дизайнера: как улучшить iPhone
Почему у одних соцсетей получилось стать сервисами, а у других никогда не получится