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

— Почему вы решили перевести всех мобильных разработчиков Лондон?
Мобильная разработка изначально строилась в Лондоне. Здесь находится руководство компании, продуктовая команда, дизайнеры — все, люди которые сильнее всего влияют на продукт.
Чтобы общение между клиентскими и продуктовыми компаниями было эффективно, его нужно строить в одном офисе. Мы привозим сюда ребят со всего мира. У нас есть люди из Мексики, Новой Зеландии, Индии, Испании, большей части стран бывшего СНГ.
Страна не важна — главное чтобы человек умел делать то, что от него ждут. Делать приложение в Москве, наверное, было бы можно, но строить коммуникацию в таком случае труднее. И мы решили этого не делать.
— Это не самое популярное мнение. Одно дело держать вместе продуктовые команды, но разработку часто разбивают по миру, по городам поменьше — это дешевле. Неужели плюсы перевешивают минусы?
Мы начали заниматься мобильной разработкой очень рано, чуть ли не сразу после появления на рынке iPhone & Android, в России не смогли найти команду специалистов — их было очень мало на рынке по сравнению с Лондоном. Поэтому решили с нуля строить команду там. Сейчас менять все на корню не имеет смысла, потому что все уже работает хорошо, и нас это устраивает.
— И как работается в такой интернациональной команде?
Мне нравится, это интересно. Общаешься с людьми со всего мира. Люди разных национальностей, разных ментальностей, взглядов на жизнь. Для меня это было просто невообразимо. Я сам из маленького города, из Саратова. Не живя в Москве, приехал в Лондон, и это конечно взрывает мозг по полной программе.
Иногда нужно делать скидку на культуру, с носителем которой ты общаешься, и подбирать формулировки. Бывает, чтобы понять, что человек хочет и что он пытается тебе сказать, надо знать культурный контекст.
Но когда людей со всего мира становится слишком много, и со всеми нужно ежедневно общаться, ты невольно упрощаешь свой язык. Все понимают, что если вкладывать подтексты, твои слова никто не поймёт.

Мобильная команда в офисе Badoo
— Английский к этому моменту ты уже знал?
Да, того, что я знал, хватило, чтобы получить визу, но шутки на английском я начал понимать месяца через три-четыре после переезда. На самом деле, для визы много не нужно — буквально четыре балла в IELTS. Чуть-чуть рассказать о себе, прочитать небольшой текст, послушать фрагмент разговора и ответить на вопросы.
В офисе мы стараемся говорить на английском. Если кто-то не понимает русского, испанского, или ещё какого-то языка — все переходят на английский. Но здесь достаточно большое количество русского наро��а, процентов 70. Поэтому если никого нет рядом, то иногда переходим на русский.
— Дейтинговая отрасль, характер работы, влияют на атмосферу внутри команды?
Я знаю, что у нас в компании некоторые нашли себе спутника жизни на Badoo. Когда такое происходит совсем рядом, ты лучше понимаешь, как твое дело влияет на людей, и это здорово.
Очень часто пользователи присылают нам свои истории, рассказывают, как они познакомились на Badoo, как живут вместе, и что благодарны за это.
Будучи семейным человеком, я сам никогда не относился к Badoo как к дейтингу. Badoo воспринимается больше как продукт, который интересно развивать, решать сложные задачи. Который тебе важен, и который ты хочешь сделать лучше.
Процесс у нас построен таким образом, что при разработке и тес��ировании мы работаем в песочнице и изолированы от реальных пользователей, чтобы случайно не испортить впечатление отправкой тестовых сообщений или сломанным функционалом.
— Чем отличается работа в этой компании от того, что у тебя было в России?
В России я работал в аутсорсинге. Там вся работа по проектам: пришло техзадание, сделал и забыл. В основном, это работа с людьми в далеких странах, с которыми ты общаешься два-три раза в неделю. И все идет медленно.
А здесь ты приезжаешь в офис, где крутые люди, активная коммуникация, интересные задачи, которые решаются очень быстро. Разница, конечно, огромная.
— У вас есть удаленные сотрудники?
Поддержка сидит по всему миру, и в основном все работают из дома. Это очень много народа. В разработке удалёнщиков нет — только в офисах в Лондоне и Москве. Мне кажется, иметь много офисов просто неудобно. Мы не Microsoft, где десять тысяч сотрудников, и вся работа разбивается на миллион мелких задач.
В Badoo мы активно общаемся, участвуем в развитии продукта, не стесняемся высказывать свое мнение. Когда команда разделена, нужно аргументировать все в письменной форме большому количеству людей. Кто-то может это не прочитать, не так понять, и начинаются сложности. А так ты можешь подойти к любому человеку, вовлеченному в проект, объяснить ситуацию, узнать его позицию и высказать свои мысли.
— У вас большой офис?
У нас три этажа в здании в центре Лондона, в Сохо. Это социально оживленное место. Ресторанчики, кафешки, клубы — все здесь. Работе они не мешают. Улицы особенно оживляются после 6 вечера, но и при этом не особо громко слышно.


Как построена разработка
— Какие вы решаете задачи?
В первую очередь, мы работаем вместе с продуктовой командой над фичами. У продактов есть громадный список идей, и периодически они их нам приносят. Иногда идеи приходят раньше времени, когда пользователи ещё не готовы и не воспримут хорошо — эти идеи откладывается на потом.
Мы подключаемся к процессу, выясняем, что требуется, смотрим, какие варианты у нас есть, и что мы можем предложить со своей стороны.
Например, всегда пытаемся за неделю-две сделать минимальный функционал для фичи, на которую требуется, скажем, полгода. Тестируем идею в бою и стараемся понять, стоит ли вкладываться в ее развитие, нравится она пользователям или нет.
У нас достаточно короткие циклы релизов — раз в неделю для нативных приложений 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

— Как и каких людей вы набираете?
В первую очередь, это люди, которым не все равно, которые заинтересованы в результатах своей работы. Понятное дело, человек должен уметь писать код и до��таточно хорошо знать свою платформу.
В процессе интервью у нас есть небольшой тест — там несколько теоретических вопросов и несколько задач средней сложности. Обычно мы назначаем собеседование по скайпу после теста. Кандидаты обычно со всего мира: сразу приезжать, конечно, можно, но сложно — придется возить очень много людей. Поэтому у нас одно или два собеседования по скайпу, где ребята проверяют кодинг и знание основной платформы. Если всё хорошо то, мы помогаем человеку приехать в офис, познакомиться поближе, пообщаться с ребятами и руководителями, и проводим уже более углубленное интервью на знание платформы.
— Бывает, что люди приезжают в офис и не проходят собеседование?
Бывает, конечно. Понятно, что это обидно, но с другой стороны — ты съездил в Лондон, осмотрелся, пообщался с командой, узнал очень много о компании, плюс еще что-то о пробелах в своих знаниях. Мы очень рады, если люди потом подтягивают знания, приезжают снова и уже проходят.
— Должен ли разработчик знать на зубок теорию с которой он столкнется на собеседовании — но не факт что столкнется в работе?
Периодически у нас проходят дебаты на эту тему, но мы часто сталкиваемся с такой теорией в работе. У нас очень много пользователей, и если вдруг мы начнём использовать платформу неэффективно, лишний раз алокейтить память, неправильно использовать структуры данных или слать слишком много запросов на сервер — а в приложении функционала достаточно много — то это может заметно снизить скорость работы приложения и повысить потребление батареи.
Поэтому для нас важен хороший уровень понимания того, что ты делаешь, и как все работает под капотом.
— Вы набираете джунов?
Набираем, правда по нашим меркам джун — это, наверное, общепринятый мидл. То есть человек имеет некоторый опыт, хорошее понимание платформы и может самостоятельно решить задачу среднего или малого размера.
— Если человек прошел собеседование в офисе, он остается или ещё возвращается домой?
Сначала человек уезжает домой и в электронном виде получает оффер. Это необходимо для переоформления визы на рабочую.
Но это не единственный вариант. Например, в прошлом году мы делали два хайринг эвента, где мы за день проводили все собеседования и делали оффер прямо на месте. Кстати, 24-25 ноября в этом году мы проводим еще один такой эвент!
Мы предполагали, что некоторые люди не хотят ходить по собеседованиям, потому что это занимает много времени, нужно отпрашиваться с работы, несколько раз списываться и созваниваться, поэтому решили попробовать такой формат. Мы говорим — ребята приходите к нам, пройдите небольшой тест, проведите день в офисе, мы с вами пообщаемся и если друг другу подойдем, то мы сделаем оффер прямо в этот же день. Мы сами покупаем или компенсируем деньги за билеты до Москвы, договариваемся о времени.
В таком формате интервью состоит из трёх этапов (полчаса, час и ещё час, соответственно). В ожидании следующего этапа за обедом кандидаты общаются с командой, задают вопросы о жизни в Лондоне, лучше узнают нашу культуру, процессы, людей. В прошлом году это зашло очень хорошо. К нам устроились сразу шесть человек.
— А как помогаете с переездом после оффера?
Если человек из России, мы предлагаем ему работать в московском офисе сразу, пока делаются все документы. В любом случае, приходится ждать визу. Подготовка занимает разное время — в среднем от двух до трёх месяцев. Естественно мы со всем помогаем — с оформлением, с заполнением заявлений. Мы сотрудничаем с компанией, которая на этом специализируется, чтобы все прошло хорошо.
Затем человек с семьей получает рабочую визу. С ней он может приезжать в Лондон, может работать у нас в компании, а супруга или супруг — где угодно, кроме как дантистами. Странно и смешно, но это прямо в визе написано.
— Денег, которые вы предлагаете, хватает чтобы жить в Лондоне? Ведь это достаточно дорогой город?
С деньгами всё, как всегда, относительно. Понятно, что всё зависит от профессионального уровня, запросов и потребностей. Могу сказать, что средняя зарплата по Англии в несколько раз ниже, чем мы предлагаем. Даже по Лондону, где зарплаты достаточно высокие, наши входят в 10% самых высоких.
Некоторые вещи действительно тут дороже, например жилье и сервисы вроде ветеринара, ремонта. Но при этом процент стоимости материалов для ремонта, телефона или лаптопа к зарплате заметно меньше.
Более подробно тема переезда раскрыта в статье нашего сотрудника, который как раз к нам присоединился на прошлогоднем хайринг эвенте.
Тоска по дому
— Не скучаете по дому?
Конечно скучаем, но до Москвы лететь 4 часа — на выходные вполне можно сгонять. Это не из штатов, где 11-15 часов перелет.
Но я не очень часто летаю. Все мои одноклассники и однокурсники тоже разъехались по миру. Мы иногда встречаемся где-нибудь в Германии, в Испании или в Штатах. Кстати, в прошлом году случайно встретил одноклассника прямо около нашего офиса в Лондоне — даже не договариваясь.
Ко мне чаще приезжают родители, чтобы увидеться с внуками. Не думаю, что они смогли бы приезжать ко мне, допустим, в Штаты или в Новую Зеландию.
— А не бывает депрессии от того, что тебя оторвали от места, где ты привык жить? Так называемый миграционный кризис.
Я понимаю, о чем ты. У меня было ощущение некоторой паники, когда не понимаешь, как все устроено в другой стране. Но это проходит, как только разбираешься и начинаешь чувствовать себя увереннее. У меня это прошло в первый месяц, у кого-то может длиться дольше. Но у нас очень много всяких коммьюнити даже в пределах Badoo — ребята играют в настольные игры, бегают марафоны, занимаются баскетболом, ездят на велосипедах. И все готовы тебе помочь с вопросами и поддержать. Социального общения достаточно много, ты не чувствуешь себя потерянным и одиноким.
Если человек знает русский язык, он попадает в довольно большое сообщество. В Лондоне около 300 тысяч русскоговорящих. Где бы ты ни жил, можно выйти на улицу, крикнуть что-нибудь на русском, и тебе кто-нибудь ответит.
По дороге на работу и обратно я постоянно слышу русскую речь. Был забавный случай, когда мы только приехали. В первый день вселились в квартиру, суббота, выходной, семь утра — и у меня за стеной вдруг заиграли «Белые розы». Сосед оказался из бывшего СССР.

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

Летняя вечеринка
Дейтинг, будущее и семья
— Есть такая теория, что семья в традиционном понимании — это пережиток прошлого, и брак должен быть союзом самостоятельных персон, чем-то вроде бизнес партнерства. Вы в Badoo верите, что мы к такому придем?
Очень философский вопрос. Обобщение тут не сильно уместно, потому что все люди из разных культур и разного воспитания, с разными ценностями жизни. Им нельзя однозначно сказать, как все должно быть.
Мы стараемся помогать людям решать разные проблемы. Если человек хочет найти супруга и создать семью в классическом понимании (которое для каждой культуры свое) — то это замечательно, это его желание. Я не думаю что мы должны или можем каким-то образом на это влиять.
— Сейчас это реально так, но что будет лет через сто?
Это будет зависеть от направления развития мира. Я не думаю, что культурные различия между странами сотрутся так быстро, и что ближайшие 10-20 лет что-то сильно поменяется.
— Работая над дейтинговым сервисом, вы не думали, что из этого всего можно исключить человека, создать виртуального спутника жизни, идеального для тебя, как фильме «Она»?
Поживем-увидим. Но если серьезно, то мы за реальные отношения с реальными людьми.
