Как работают в 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
Есть общие правила для всего департамента: ежедневные стендап-митинги, проведение демо для внутреннего заказчика, итеративная разработка, планирование и оценка задач. Как реализовывать эти требования, команды решают сами: использовать 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, новых технологиях и их применимости. Ответственный за митапы составляет их расписание, бронирует переговорную и полностью отвечает за организацию — заказывает пиццу, собирает участников в общем чате в Slack, работает со спикерами (проверяет презентации и при необходимости репетирует с ними выступления), делает прямую трансляцию для всех сотрудников и размещает финальное видео в корпоративной базе знаний. Участие в таких мероприятиях добровольное, как и кураторство — ответственный назначается по личной инициативе. В офисе HeadHunter проводятся и внешние митапы, куда могут прийти разработчики из других компаний.
Разработчики участвуют также в специализированных конференциях (Highload++, «Российские интернет-технологии», JPoint и пр.), митапах, посвященных тестированию, devops, высоконагруженным системам, фронтенду, чтобы понимать, что происходит в сфере разработки, узнавать, как работают коллеги, обмениваться опытом. Более опытные сотрудники выступают со своими докладами, например:
Борис Вольфсон, директор по развитию — «
Алексей Анисимов, Head of QA (руководитель направления обеспечения качества) — «
Записи всех наших выступлений можно посмотреть на сайте технического департамента hh.ru.
Как попасть на работу в HeadHunter и расти в команде
Очевидно, что рынок цифровых HR-технологий будет только расти, поэтому разработчики в этой сфере нужны уже сейчас. В HeadHunter 17 команд разработки: поиск, SRE, Маркетинг, API, Биллинг, мобильные приложения для IOS и Android, Talantix и другие.
Руководители команд выбираются из числа сотрудников: когда тимлид уходит или создается новая команда, каждый может предложить свою кандидатуру, пройти собеседование с техническим директором и руководителем фронтенд-разработки и возглавить команду.
Джуниоры могут пройти Школу программистов и присоединиться к одной из команд по разработке, а затем продолжить свой карьерный рост.
Евгений Бокшицкий, тимлид команды мобильного сайта HeadHunter
Разработчики с опытом могут пополнить команды техдепартамента и вырасти до тимлида. HeadHunter возмещает расходы на переезд в Москву из регионов. Посмотреть открытые вакансии можно здесь.
Рабочие порядки в HeadHunter
Все разработчики сосредоточены в головном офисе в Москве (м. Алексеевская). Каждый определяет сам, во сколько начинать рабочий день — это зависит от расписания встреч и графика команды.
У сотрудников всегда есть кофе, чай, печенье и свежие фрукты. В офисе также есть спортзал, зал для йоги, массажный кабинет, и даже детская комната — можно взять ребенка с собой на работу, если в этом есть необходимость. В HeadHunter нет дресс-кода — деловой стиль одежды рекомендуется разве что для встреч с клиентами.
Компания дает разработчикам все условия для эффективной работы и карьерного роста:
- «белую» заработную плату, полис ДМС и страхование от несчастных случаев;
- участие в специализированных конференциях (в качестве слушателя или спикера) и внутреннем обучении (митапах, семинарах, Школе программистов);
- профессиональное обучение и сертификация за счёт компании.
Для спорта и отдыха в офисе есть пинг-понг, кикер и другие настольные игры. Корпоративы в HeadHunter посвящены не только общим праздникам — традиционно после выхода большого проекта команда собирается, чтобы это отметить.