Как работают ИТ-специалисты. Алексей Рыбак, глава разработки Badoo

в 10:19, , рубрики: badoo, интервью с разработчиками, Карьера в IT-индустрии, конференция для разработчиков

image

7 и 8 ноября в Сколково прошла конференция HighLoad++ 2016. Более 200 экспертов выступали с докладами о высоконагруженных сервисах, проблемах работы с ними, администрировании и многом другом.

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

С каждым мы провели интервью в формате блиц-опроса. Будет интересно выяснить, что объединяет этих ИТ-специалистов, в чем они похожи. Возможно, их ответы помогут выявить какие-то общие закономерности, полезные советы, которые помогут многим из нас.

Наш сегодняшний гость — Алексей Рыбак, глава разработки в компании Badoo.

Чем занимаетесь в компании?

У главы разработки две задачи. Первая – строить профессиональную, современную, эффективную инженерную организацию. Это такое большое «облако» самых разных инженерных команд: разработка, тестирование, администрирование, мониторинг, департамент business intelligence, причём на два офиса — в Лондоне и в Москве. Рабочий процесс должен быть максимально налажен: продукты быстро запускаться и обновляться, вакансии закрываться крутыми ребятами, для которых организованы классные условия работы; коммуникации должны быть четкими и продуктивными, и так далее.

Вторая задача — руководство московским офисом. Это добавляет административной работы.

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

В московском офисе процессы отлажены достаточно давно: офис вырос с 50-60 человек до 140 ещё в 2011-2012 году. А лондонский офис растет прямо сейчас, здесь очень много чего приходится строить, ведь здесь сосредоточена почти вся клиентская разработка. На сегодняшний день в каждом из офисов работает уже более ста инженеров. И с точки зрения продукта тоже время интересное: Badoo как компания стала больше похожа на «платформу» или даже «инкубатор», внутри которого на одной технологической платформе делается не один продукт, а множество.

Одно слово (словосочетание) лучше всего описывающее как вы работаете.

Огромное количество разговоров.

Речь о постоянном общении и взаимодействии?

Постоянное общение с коллегами. В каких-то моментах нужно просто выслушать и задать вопросы, а в других – помочь, объяснить, дать совет, как стоило бы сделать.

Сколько часов в сутки вы уделяете работе?

Сказать достаточно сложно, потому что большая часть общения идет по email и телефону. Если это не учитывать, то, думаю, 8-10 часов.

Сколько часов вы спите?

Стараюсь не менее 7 часов.

Что делаете по пути на/с работы?

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

Каким todo-менеджером пользуетесь лично вы?

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

В почте у меня есть todo-папка. Часть задач лежит в inbox как «непрочитанное». Всё old school.

3 вопроса, связанных с компанией

Каким таск-менеджером / issue-tracker’ом / репозиторием пользуетесь?

Система контроля версий — git, таск-менеджер и issue-tracker — JIRA.

Вы используете JIRA в бизнес-юнитах?

Да, но люди там далеко не все свои внутренние задачи превращают в «таски», однако все продуктовые задачи ведутся в JIRA — вместе с макетами, PRD (product recruitment documents) и тд.

Какое рабочее окружение используете? Фреймворки, другие сторонние продукты?

Мы активно используем HipChat. Он, к сожалению, далек от идеала, но хорошо интегрирован с нужными нам фичами. Мы активно используем IDE – PHPStorm, например, хотя, я лично, когда много программировал, обходился старым добрым vim. Что касается открытого кода – полно всяких библиотек, кратко не перечислить.

Есть ли в компании какие-то внутренние проекты и для чего они создавались?

У нас достаточно большая компания: инженеров уже больше 200 человек. Примеров внутренних проектов — множество. Мы поощряем разную активность сотрудников, но в целом, конечно, хочется, чтобы все внутренние разработки как-то потом нами же использовались.

Приведу примеры как инфраструктурных, так и пары продуктовых проектов. Если говорить о продуктах, то, к примеру, несколько лет назад к нам в лондонский офис пришел студент, который писал под iOS. Он хотел быть у нас интерном, но времени у него было, кажется, всего месяц летом. А у нас очень большая кодовая база, за месяц только бы разобраться, написать что-то интересное в продакшн шансов немного. Поэтому ребята из мобильной разработки предложили ему сделать Badoo Reception App. Теперь этот проект используется и в Лондоне, и в Москве.

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

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

image

Есть другой проект – достаточно серьезная внутренняя HRM система, которая решает важные HR задачи, первая задача, это автоматизация процесса Perfomance review. Изначально мы хотели купить такую систему, но в 2011 году не нашли на рынке ничего, что нормально работало бы и могло быть быстро и легко кастомизировано под нас.

Таким образом, родился наш Performance review tool, который позволяет проводить ревью для сотрудников наших команд. В основе ревью лежит метод 360 градусов, то есть сбор фидбека о работе сотрудника с разных сторон. Ребята кратко описывают результаты своей работы за период, это не занимает много времени (минут 20), но позволяет регулярно раз в месяц сесть и задуматься, что было сделано, если ли результат, прогресс в процессах и задачах. Затем выбираются коллеги (peers), которые могут оценить и дать фидбек по этим задачам. Для программиста это могут быть не только программисты, но и тестировщики, продуктовые менеджеры, мнения важны с разных сторон. В итоге менеджер смотрит на всю картину в целом, что было сделано, с каким результатом, что думают коллеги, и выставляют свою финальную оценку.

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

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

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

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

Во-первых, мы нашли несколько неприятных багов — и команда Димы Стогова, основного разработчика PHP7, оперативно разобрались, и их исправили. С нашей стороны был, как минимум, один инженер, который почти постоянно занимался этим проектом, переписывался с PHP-team, менял что-то на стенде, экспериментировал.

Во-вторых, нам пришлось полностью изменить наш подход к тестированию, и мы сделали специальный проект SoftMocks и выложили его на github. Мы подробно писали об этом в статье о переходе на PHP7 (https://habrahabr.ru/company/badoo/blog/279047/ — Badoo перешли на PHP7 и сэкономили $1M) и в отдельной статье, посвящённой SoftMocks (https://habrahabr.ru/company/badoo/blog/279617/ — «SoftMocks: наша замена runkit для PHP 7»). Вполне себе внутренние инфраструктурные проекты.

Что вас раздражает больше всего, когда вы работаете?

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

Какую профессиональную литературу вы бы могли порекомендовать?

Я мало читаю, и как-то нечасто нахожу в профессиональных книжках что-то новое и полезное для работы. Раньше читал кучу технологических блогов, про новые инструменты и технологии, но сейчас – очень редко, шума много, пользы мало, времени в обрез. Если говорить о книжках, которые когда-то произвели на меня сильное впечатление, то таких было четыре: «Введение в базы данных» Дейта, «Дзен и искусство ухода за мотоциклом» Пирсига, «Путь камикадзе» Йордона и «От хорошего к великому» Колинза. Ну а начинающим менеджерам советую почитать классику как общего назначения типа Друкера, так и чисто айтишную — того же Йордона, ДеМарко.

Что предпочитаете: электронные читалки или бумажные книги?

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

Какую технику (компьютеры, планшеты, смартфоны) и почему вы предпочитаете на работе и дома?

В течение долгого времени (начало 2000-х) у меня на одной и той же машине стояли Windows и Linux — как дома, так и на работе. Потом на работе остался только Linux. Linux должен был быть всегда по умолчанию, а если нужно что-то конкретное, где Windows must have, я перезагружался в Windows. Виртуализация тогда работала не очень хорошо.

Когда у меня появился Mac, я вдруг понял, что там есть почти все, что мне нужно, и чтобы писать и отлаживать код, и нужные офисные приложения и так далее. Но примерно в это же время у меня уже сильно поменялся фокус — число технических проектов стремительно уменьшалось. В общем сейчас я счастливо сижу на Mac. Дома у меня нет компьютера уже несколько лет: везде ношу рабочий Mac. И как вспомню, что приходилось однажды пересобирать модуль ядра для wifi после покупки своего первого ноута — так вздрогну. На Маке всё просто работает.

Что вы слушаете, когда вы работаете?
Во время работы я не слушаю музыку. Мне кажется, что музыка – это то, что должно разрывать тебя в клочья, или хотя бы переводить в совершенно иное состояние. Работать одновременно с этим не очень получается.

Какой лайфхак позволяет вам быть эффективнее?

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

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

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

Без каких приложений и сервисов не можете обойтись ни в работе, ни в личной жизни?

Почтовый клиент Gmail, Google Docs.

Какой профессиональный совет из прошлого вы бы могли дать самому себе?

Больше слушать. Порой мне, как и любому живому человеку, не хватает терпения слишком долго находиться в изматывающем процессе обсуждения, что-то во мне переклинивает, и я говорю: «К черту все. Делаем вот так, а если сломается – починим. Давай просто сделаем». Естественно, иногда это приводит к проблемам. Умение слушать позволяет не принимать поспешных решений.

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

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

Второй этап – карьерный путь и трудоустройство в правильные компании. Выберите продуктовую компанию, чтобы результатом вашей работы был именно продукт, на котором компания зарабатывает деньги. То есть, чтобы вы были не просто сервисом, а человеком, который делает продукт. Для меня было важно, чтобы компания зарабатывала не на том, чтобы перепродать моё время. Конечно так же компания должна быть технологичной: чтобы инженеры постоянно совершенствовали технологический стэк, системно работали над технических долгом, чтобы можно было пойти чему-то поучиться или поехать пообщаться на профильных конференциях (Badoo ежегодно отправляет десятки человек на конференцию Highload++, насколько мне известно, мы уступаем по количеству участников только одному известному банку, где работает значительно больше сотрудников). Всё это было очень важно для меня — работа в технологичной продуктовой компании.

Для тех, кто лишь встал на путь программиста могу порекомендовать ещё прочесть вот эту раcшифровку моего выступления (https://habrahabr.ru/company/mailru/blog/269687/) перед студентами Технопарка, в котором я рассказываю об адаптации вчерашних студентов к работе в софтверной компании.

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

Автор: semen_grinshtein

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js