Где работать в ИТ, выпуск 3: Badoo

9kgavzh0a3yo-sp_n7vy_nrvzio.jpeg

Раньше сервисы вроде Badoo называли сайтами для знакомств. Но теперь это определение как-то не вяжется с образом передовой IT-компании с офисами в Москве и Лондоне, высоченными зарплатами и высокотехнологичным стеком. Поэтому Badoo предпочитает нейтрально-сглаженное — «крупнейшая в мире социальная сеть для встреч с новыми людьми».

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

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

О своей работе рассказал Иван Бирюков, руководитель мобильной разработки в Badoo. Заодно мы узнали, как живется разработчикам дейтингов в Лондоне, и что за технологии помогают нам встречать новых людей.


Почему разработка Badoo находится в Лондоне


433db4690f3c5f730241ba2343146eab.jpg

— Почему вы решили перевести всех мобильных разработчиков Лондон?

Мобильная разработка изначально строилась в Лондоне. Здесь находится руководство компании, продуктовая команда, дизайнеры — все, люди которые сильнее всего влияют на продукт.

Чтобы общение между клиентскими и продуктовыми компаниями было эффективно, его нужно строить в одном офисе. Мы привозим сюда ребят со всего мира. У нас есть люди из Мексики, Новой Зеландии, Индии, Испании, большей части стран бывшего СНГ.

Страна не важна — главное чтобы человек умел делать то, что от него ждут. Делать приложение в Москве, наверное, было бы можно, но строить коммуникацию в таком случае труднее. И мы решили этого не делать.

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

Мы начали заниматься мобильной разработкой очень рано, чуть ли не сразу после появления на рынке iPhone & Android, в России не смогли найти команду специалистов — их было очень мало на рынке по сравнению с Лондоном. Поэтому решили с нуля строить команду там. Сейчас менять все на корню не имеет смысла, потому что все уже работает хорошо, и нас это устраивает.

— И как работается в такой интернациональной команде?

Мне нравится, это интересно. Общаешься с людьми со всего мира. Люди разных национальностей, разных ментальностей, взглядов на жизнь. Для меня это было просто невообразимо. Я сам из маленького города, из Саратова. Не живя в Москве, приехал в Лондон, и это конечно взрывает мозг по полной программе.

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

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

672379a39fb2219198b817627bb22cf7.jpg
Мобильная команда в офисе Badoo

— Английский к этому моменту ты уже знал?

Да, того, что я знал, хватило, чтобы получить визу, но шутки на английском я начал понимать месяца через три-четыре после переезда. На самом деле, для визы много не нужно — буквально четыре балла в IELTS. Чуть-чуть рассказать о себе, прочитать небольшой  текст, послушать фрагмент разговора и ответить на вопросы.

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

— Дейтинговая отрасль, характер работы, влияют на атмосферу внутри команды?

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

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

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

Процесс у нас построен таким образом, что при разработке и тестировании мы работаем в песочнице и изолированы от реальных пользователей, чтобы случайно не испортить впечатление отправкой тестовых сообщений или сломанным функционалом.

— Чем отличается работа в этой компании от того, что у тебя было в России?

В России я работал в аутсорсинге. Там вся работа по проектам: пришло техзадание, сделал и забыл. В основном, это работа с людьми в далеких странах, с которыми ты общаешься два-три раза в неделю. И все идет медленно.

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

— У вас есть удаленные сотрудники?

Поддержка сидит по всему миру, и в основном все работают из дома. Это очень много народа. В разработке удалёнщиков нет — только в офисах в Лондоне и Москве. Мне кажется, иметь много офисов просто неудобно. Мы не Microsoft, где десять тысяч сотрудников, и вся работа разбивается на миллион мелких задач.

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

— У вас большой офис?

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

f8b8a1703ee331f78e7d4ea7745214a4.jpg

60c531117285365f2d69cbfa1cfd3925.jpg


Как построена разработка


— Какие вы решаете задачи?

В первую очередь, мы работаем вместе с продуктовой командой над фичами. У продактов есть громадный список идей, и периодически они их нам приносят. Иногда идеи приходят раньше времени, когда пользователи ещё не готовы и не воспримут хорошо — эти идеи откладывается на потом.

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

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

У нас достаточно короткие циклы релизов — раз в неделю для нативных приложений Android и iOS (два раза в день на бэкенде и вебе). Если ты делаешь новую классную фичу, то через неделю её уже увидят миллионы пользователей.

— Каждую неделю релиз фичи?!

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

— Обновления не становятся пустыми? Ну нельзя же каждую неделю выпускать новую классную фичу?

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

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

Одновременно работа может идти над несколькими существующими фичами. Например где-то аналитики нашли, на каком шаге регистрации у нас отваливается много пользователей — мы это фиксим. Родилась идея, что чат должен работать оффлайн — начинаем работать над этим. В видеостриминге заметили, что пользователи не понимают, как достучаться напрямую до стримера — делаем отдельную кнопку для этого.

— Что из себя представляет мобильная разработка?

Мобильная нативная разработка на сегодняшний день — это сорок инженеров, которые разбиты на пять команд.

Две самые большие команды развивают Badoo приложение для iOS и Android.

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

Команда Некст-Ген работает над новыми приложениями и различными экспериментами. Например, одна из самых успешных разработок этой команды — дейтинг Bumble, очень популярный в США (В нем первыми на контакт могут идти только женщины, если пара гетеросексуальная — прим.).

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

— Фичи вроде стримов, видео звонков, поиска двойников — какими командами это делается?

Под такие большие штуки мы обычно собираем команду со всех подразделений. На видео стриминг мы в том числе из Москвы вызывали народ в Лондон, собирали всех здесь. Фактически в такой большой фиче участвуют все, кроме, наверное, некст-гена — просто потому, что эта фича в первую очередь планировалась для Badoo.

Естественно, над ними работают также и продакты, бизнес аналитики, дизайнеры — все вместе, весело и дружно.

— А потом расходятся обратно и продолжают делать свои дела?

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

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

— Вы говорите, что вы очень передовая IT-компания и используете современные технологии. Расскажешь, какие именно?

Понятно, что есть всякие мастхевы вроде Kotlin на Android, RxJava. Через какое-то время будет невозможно найти разработчиков, которые знают только Java без Kotlin для Android. В вебе проходят эксперименты с React Native — хотя это не совсем в мобильной разработке.

У нас из значимых и передовых вещей можно назвать MVI Core. Наши ребята посмотрели вокруг, посмотрели на MVI, изучили другие архитектурные решения и сделали свой фреймворк. Скажем так, это дальнейшее развитие MVI, которое позволяет легче поддерживать сложные фичи и укладывать их в более стройную структуру. Сейчас этот фреймворк начинают подбирать другие компании. Я слышал что Lyft собирается его внедрять.

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

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

— Вы давно перешли на Kotlin?

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

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

— А до этого не сталкивались со спорами насчет функционального программирования? Не хотели переходить с Java на Scala?

Я знаю, что ребята на сервере с ней экспериментируют. Там, на самом деле, чего только нет. Но серверные проще изолировать, попробовать и если что-то не так — заменить. А в Android сложнее, все эти новые языки требуют подстройки билдов, и потенциально с любым выходом обновлений от Google всё может сломаться.

— А что в iOS команде?

Там у нас Swift, MVVM. Мы перешли достаточно давно — больше двух лет назад. В этом году к весне больше половины кода уже написано на нем. У нас такой принцип — если ты взял в работу что-то существующее, то приведи это в порядок. Так потихонечку весь код переходит под свифт. Остаются только те вещи которые работают давно, и нет необходимости их менять.

Переход тоже идет спокойно, всем нравится. Все понимают, что и почему мы делаем. Никаких холиваров на эту тему не происходит.


Найм в Badoo


25ee95e5b1df0598fb6bc19e7a2de3f1.jpg

— Как и каких людей вы набираете?

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

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

— Бывает, что люди приезжают в офис и не проходят собеседование?

Бывает, конечно. Понятно, что это обидно, но с другой стороны — ты съездил в Лондон, осмотрелся, пообщался с командой, узнал очень много о компании, плюс еще что-то о пробелах в своих знаниях. Мы очень рады, если люди потом подтягивают знания, приезжают снова и уже проходят.

— Должен ли разработчик знать на зубок теорию с которой он столкнется на собеседовании —, но не факт что столкнется в работе?

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

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

— Вы набираете джунов?

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

— Если человек прошел собеседование в офисе, он остается или ещё возвращается домой?

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

Но это не единственный вариант. Например, в прошлом году мы делали два хайринг эвента, где мы за день проводили все собеседования и делали оффер прямо на месте. Кстати, 24–25 ноября в этом году мы проводим еще один такой эвент!

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

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

— А как помогаете с переездом после оффера?

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

Затем человек с семьей получает рабочую визу. С ней он может приезжать в Лондон, может работать у нас в компании, а супруга или супруг — где угодно, кроме как дантистами. Странно и смешно, но это прямо в визе написано.

— Денег, которые вы предлагаете, хватает чтобы жить в Лондоне? Ведь это достаточно дорогой город?

С деньгами всё, как всегда, относительно. Понятно, что всё зависит от профессионального уровня, запросов и потребностей. Могу сказать, что средняя зарплата по Англии в несколько раз ниже, чем мы предлагаем. Даже по Лондону, где зарплаты достаточно высокие, наши входят в 10% самых высоких.

Некоторые вещи действительно тут дороже, например жилье и сервисы вроде ветеринара, ремонта. Но при этом процент стоимости материалов для ремонта, телефона или лаптопа к зарплате заметно меньше.

Более подробно тема переезда раскрыта в статье нашего сотрудника, который как раз к нам присоединился на прошлогоднем хайринг эвенте.


Тоска по дому


— Не скучаете по дому?

Конечно скучаем, но до Москвы лететь 4 часа — на выходные вполне можно сгонять. Это не из штатов, где 11–15 часов перелет.

Но я не очень часто летаю. Все мои одноклассники и однокурсники тоже разъехались по миру. Мы иногда встречаемся где-нибудь в Германии, в Испании или в Штатах.  Кстати, в прошлом году случайно встретил одноклассника прямо около нашего офиса в Лондоне — даже не договариваясь.

Ко мне чаще приезжают родители, чтобы увидеться с внуками. Не думаю, что они смогли бы приезжать ко мне, допустим, в Штаты или в Новую Зеландию.

— А не бывает депрессии от того, что тебя оторвали от места, где ты привык жить? Так называемый миграционный кризис.

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

Если человек знает русский язык, он попадает в довольно большое сообщество. В Лондоне около 300 тысяч русскоговорящих. Где бы ты ни жил, можно выйти на улицу, крикнуть что-нибудь на русском, и тебе кто-нибудь ответит.

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

0ba5c0f0ebf6a5e8b133f0f4cd8bb4dc.jpg
Празднование Хэллоуина в Badoo

— Как сама компания вас развлекает?

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

99aa7d7a9aa47f8360b0b16feb125bfc.jpg
Летняя вечеринка


Дейтинг, будущее и семья


— Есть такая теория, что семья в традиционном понимании — это пережиток прошлого, и брак должен быть союзом самостоятельных персон, чем-то вроде бизнес партнерства. Вы в Badoo верите, что мы к такому придем?

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

Мы стараемся помогать людям решать разные проблемы. Если человек хочет найти супруга и создать семью в классическом понимании (которое для каждой культуры свое) — то это замечательно, это его желание. Я не думаю что мы должны или можем каким-то образом на это влиять.

— Сейчас это реально так, но что будет лет через сто?

Это будет зависеть от направления развития мира. Я не думаю, что культурные различия между странами сотрутся так быстро, и что ближайшие 10–20 лет что-то сильно поменяется.

— Работая над дейтинговым сервисом, вы не думали, что из этого всего можно исключить человека, создать виртуального спутника жизни, идеального для тебя, как фильме «Она»?

Поживем-увидим. Но если серьезно, то мы за реальные отношения с реальными людьми.

© Habrahabr.ru