Как работают в HeadHunter

Сайт hh.ru — высоконагруженный проект. 1,5 млн пользователей каждый день просматривают более 100 млн страниц сайта (до 5000 страниц в секунду) и делают около 1 миллиона откликов на вакансии. По данным Similarweb, HeadHunter входит в топ-30 самых посещаемых сайтов Рунета и занимает третье место в мире и первое в России среди сайтов по поиску работы.
Как работают в HeadHunter

В техническом департаменте HeadHunter работают более 90 сотрудников — это backend- и frontend-разработчики, тестировщики, ios- и android-разработчики, аналитики, специалисты по машинному обучению. Департамент занимается разработкой и поддержкой сайта hh.ru, мобильным приложением, API и биллингом, развитием рекламных технологий и HR-tech решениями.

HeadHunter постоянно ищет, разрабатывает и внедряет новые технологии для упрощения работы с кадрами. Сегодня это не просто сайт с вакансиями, а целый кластер важных проектов. Только за 2017 год компания выпустила несколько HR-tech решений — умный поиск сотрудников на базе искусственного интеллекта, чат-ботов для автоматизации подбора сотрудников HH Robot, платформу для работы с персоналом Talantix, сервис автоматизированной HR-аналитики для работодателей.

Как устроена разработка в HeadHunter

Под капотом HeadHunter — кластеры Hadoop и Cassandra, больше терабайта данных в Postgres, больше 100 стендов в тестовом окружении, ежедневные автоматические релизы с автотестами. Днем на проекты HeadHunter приходит 5000 запросов в секунду (без статики), что превращается в 25000 rps к бекендам и 50000 rps к базам данных. При этом стабильность сайта — 99,9% и выше.

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

Ира Гаранина, тимлид команды Talantix

Как работают в HeadHunter
В HeadHunter можно переходить как из команды в команду, так и из одной роли в другую. Я начинала с должности разработчика в команде персонализации больше трех лет назад — мы занимались анализом профилей в соцсетях, а сейчас руковожу командой Talantix, которая была создана специально для проекта. Talantix — платформа для работы с персоналом для HR-специалистов наподобие «1С» у бухгалтеров.

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

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

Есть общие правила для всего департамента: ежедневные стендап-митинги, проведение демо для внутреннего заказчика, итеративная разработка, планирование и оценка задач. Как реализовывать эти требования, команды решают сами: использовать Scrum, Kanban или что-то еще, в какое время проводить митинги, как оценивать задачи.

Стек технологий HeadHunter

Для создания продуктов используется разное ПО, фреймворки, библиотеки с открытым исходным кодом.

Весь код хранится на GitHub, в основном в закрытых репозиториях, но есть и открытые проекты.

Базы данных: PostgreSQL, Cassandra.
Языки программирования: Java 8, Python 2.7, JS, XSLT.
Java stack: Jetty, Spring, Hibernate, Guice, Lucene и другие.
Python stack: Tornado, frontik, scikit-learn.
Frontend: jQuery, Backbone.js, RequireJS, Gulp, Less.js и другие.
Мониторинг: Sentry и OKmeter.
RabbitMQ, Memcached, NGINX, Docker и другие.

Каждый день на hh.ru выходит по несколько релизов с изменениями. Для автоматизации процессов выпуска используются зарекомендовавшие себя Ansible и Docker. В процессе разработки сотрудники следуют ценностям agile-манифеста:

  • люди и взаимодействие важнее процессов;
  • работающий продукт важнее документации;
  • сотрудничество с заказчиком важнее ТЗ;
  • готовность к изменениям важнее следования плану.

Ира Гаранина, тимлид команды Talantix: «Когда появилась идея Talantix, я работала в команде «Продукты», которая разрабатывает и поддерживает основные сервисы HeadHunter для работодателей. Мы сделали первую рабочую версию сервиса вместе с коллегой-фронтендером за полгода. По интересу работодателей заказчик (департамент веб-сервисов HeadHunter) понял, что в него стоит вкладываться, и в команду взяли тестировщика, разработчика, чуть позже — еще одного. Мы сделали личный кабинет для поиска и удобной работы с соискателями (например, в нем технический директор может наблюдать, как рекрутеры ведут подбор).

Аналогов Talantix было предостаточно, нужно было ускоряться. Чтобы быстрее развиваться, сформировали вторую команду. Презентовали Talantix в конце сентября 2017 года на конференции HR digital — там же лично пообщались со своими реальными пользователями, узнали их мнение. Хочется максимально нарастить функциональность, чтобы как можно больше HR-менеджеров увидели потребность в использовании Talantix.

Я в проекте с нуля, и, как создатель, очень хочу, чтобы он «взлетел», а пока мы дорабатываем сервис, проводим нагрузочное тестирование и устраняем слабые места. Как тимлид, я хочу, чтобы моим коллегам было комфортно работать. У нас своя атмосфера — стикеры с членами команды, свои истории, доска с картинками, куда каждый может повесить свой «крик души» — просто чтобы выразить отношение или эмоции к какой-то рабочей проблеме, и стало легче (конечно, эту проблему мы потом решаем)».

Обучение в HeadHunter: Школа программистов, митапы и конференции

Школа программистов HeadHunter готовит из студентов и выпускников инженерных и математических специальностей Java- и JS-разработчиков для работы в HeadHunter. За 10 лет в Школе обучили 166 человек.

Образовательный процесс Школы — полностью забота разработчиков HeadHunter: они проверяют анкеты и задания, проводят собеседования, читают лекции, выступают кураторами практики, заодно получают опыт публичных выступлений и учатся многому сами.

Выпускники Школы проходят собеседование с разработчиками HeadHunter — по результатам команды разработки выбирают себе коллег.

Как работают в HeadHunter
Четверть команды техдепартамента пришла в компанию после Школы программистов.

Лев Екасов, тимлид команды «Реклама», руководитель Школы программирования HeadHunter

Как работают в HeadHunter
После университета я устроился на работу в инвестиционный банк, где торговал валютами и акциями. Программирование меня всегда интересовало: иногда делал что-то личное, простое по работе, а в 2014 году начал проходить курсы на Coursera и в какой-то момент наткнулся на статью про школу HeadHunter. На практике мы с командой разрабатывали чат-бота для HR в Slack, а по окончанию школы я принял предложение присоединиться к команде, которая занималась продуктовой разработкой. В следующем наборе Школы я помогал с собеседованиями при отборе и провел первую лекцию, потом — курировал одну из команд и стал руководителем.

Преподаватели Школы — сотрудники HeadHunter, в том числе бывшие, которые могут поделиться знаниями. Наша основная задача — вырастить новые кадры для себя, но заодно мы обучаем своих коллег, получаем опыт публичных выступлений, проверяем свои гипотезы со студентами — например, Talantix, HRspace («Uber для рекрутеров») зародились именно в школе.

Школа — это не основная моя работа. Когда из команды, которая занимается рекламными проектами HeadHunter, ушел тимлид (уехал за границу), я победил во внутреннем конкурсе и занял его место.
Лев Екасов, тимлид команды «Реклама», руководитель Школы программирования HeadHunter

После Школы обучение не заканчивается — сотрудники устраивают внутренние митапы о работе разных «частей» HeadHunter, новых технологиях и их применимости. Ответственный за митапы составляет их расписание, бронирует переговорную и полностью отвечает за организацию — заказывает пиццу, собирает участников в общем чате в Slack, работает со спикерами (проверяет презентации и при необходимости репетирует с ними выступления), делает прямую трансляцию для всех сотрудников и размещает финальное видео в корпоративной базе знаний. Участие в таких мероприятиях добровольное, как и кураторство — ответственный назначается по личной инициативе. В офисе HeadHunter проводятся и внешние митапы, куда могут прийти разработчики из других компаний.

Разработчики участвуют также в специализированных конференциях (Highload++, «Российские интернет-технологии», JPoint и пр.), митапах, посвященных тестированию, devops, высоконагруженным системам, фронтенду, чтобы понимать, что происходит в сфере разработки, узнавать, как работают коллеги, обмениваться опытом. Более опытные сотрудники выступают со своими докладами, например:

Борис Вольфсон, директор по развитию — «Машинное обучение для HR-задач».

Алексей Анисимов, Head of QA (руководитель направления обеспечения качества) — «Как hh.ru дошли до 500 релизов в квартал без потери в качестве».

Записи всех наших выступлений можно посмотреть на сайте технического департамента hh.ru.

Как попасть на работу в HeadHunter и расти в команде

Очевидно, что рынок цифровых HR-технологий будет только расти, поэтому разработчики в этой сфере нужны уже сейчас. В HeadHunter 17 команд разработки: поиск, SRE, Маркетинг, API, Биллинг, мобильные приложения для IOS и Android, Talantix и другие.

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

Джуниоры могут пройти Школу программистов и присоединиться к одной из команд по разработке, а затем продолжить свой карьерный рост.

Евгений Бокшицкий, тимлид команды мобильного сайта HeadHunter

Как работают в HeadHunter
Я окончил МГТУ имени Баумана в 2013 году и еще во время учебы начал работать в московском офисе «Боинга», где рассчитывал прочность самолетов.

В 2015 году я без опыта разработки ПО пришел в Школу программистов, чтобы получить представление о современных подходах в этой области. Школа хорошо готовит людей к профессиональной разработке — спустя год меня взяли в команду мобильного сайта, еще через год тимлид нашей команды уехал жить в Германию, а я прошел конкурс и возглавил команду. Инженерное образование и опыт работы инженером оказались полезны для меня на этой позиции. В отличие от многих опытных разработчиков, я каждый день сталкиваюсь с чем-то новым для себя. Считаю, что освоение новых технологий всегда приносит пользу, поэтому стараюсь уделять этому больше времени.
Евгений Бокшицкий, тимлид команды мобильного сайта HeadHunter

Разработчики с опытом могут пополнить команды техдепартамента и вырасти до тимлида. HeadHunter возмещает расходы на переезд в Москву из регионов. Посмотреть открытые вакансии можно здесь.

Рабочие порядки в HeadHunter

Все разработчики сосредоточены в головном офисе в Москве (м. Алексеевская). Каждый определяет сам, во сколько начинать рабочий день — это зависит от расписания встреч и графика команды.

Как работают в HeadHunter
Как работают в HeadHunter
Как работают в HeadHunter
Как работают в HeadHunter
Как работают в HeadHunter
Как работают в HeadHunter
/

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

Компания дает разработчикам все условия для эффективной работы и карьерного роста:

  • «белую» заработную плату, полис ДМС и страхование от несчастных случаев;
  • участие в специализированных конференциях (в качестве слушателя или спикера) и внутреннем обучении (митапах, семинарах, Школе программистов);
  • профессиональное обучение и сертификация за счёт компании.

Для спорта и отдыха в офисе есть пинг-понг, кикер и другие настольные игры. Корпоративы в HeadHunter посвящены не только общим праздникам — традиционно после выхода большого проекта команда собирается, чтобы это отметить.

Как работают в HeadHunter
Новогодний корпоратив пройдет в стиле «Игры престолов».
Как работают в HeadHunter
Новогодний корпоратив пройдет в стиле «Игры престолов».
/