Статьи

HeadHunter ищет разработчиков

Сайт hh.ru — высоконагруженный сервис по поиску работы и новых сотрудников. 2 млн пользователей каждый день просматривают более 100 млн страниц сайта, то есть до 2500 страниц в секунду. В июле 2020 года соискатели на hh.ru 31,5 млн раз откликнулись на вакансии и 21 млн раз установили мобильное приложение «Работа и вакансии на hh» (+24% откликов и +23% приглашений от работодателей по сравнению с июлем 2019 года). По данным Similarweb, hh.ru входит в топ-30 самых посещаемых сайтов Рунета, занимает третье место в мире и первое место в России среди сайтов по поиску работы.

В техническом департаменте hh.ru — более 150 ИТ-инженеров: бэкенд- и фронтенд-, iOS- и android-разработчики, тестировщики, аналитики, специалисты по машинному обучению. Техдеп занимается разработкой и поддержкой сайта hh.ru, мобильными приложениями, API и биллингом, развитием рекламных технологий и внедрением HR-tech-решений.

HeadHunter ищет разработчиков

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

Под капотом hh.ru — кластеры Hadoop и Cassandra, несколько терабайт данных в Postgres, больше 150 стендов в тестовом окружении, CI/CD и ежедневные автоматические релизы. Днем на проекты hh.ru приходит 8000 запросов в секунду, что превращается в 120 тыс. RPS к бэкендам и 250 тыс. RPS к базам данных. При этом стабильность сайта — 99,9% и выше.

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

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

Стек технологий hh.ru

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

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

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

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

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

Школа программистов hh.ru уже более десяти лет обучает студентов и выпускников инженерных и математических специальностей, выпуская полноценных разработчиков. За все время существования Школы программистов лучшие специалисты hh.ru обучили более 200 человек.

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

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

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

Разработчики участвуют в специализированных конференциях JUG.ru и «Онтико», а также в митапах, посвященных тестированию, DevOps, высоконагруженным системам и фронтенду. Все это нужно для того, чтобы понимать современные тренды разработки, узнавать, как работают коллеги и обмениваться опытом. Наиболее опытные специалисты выступают со своими докладами, например:

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

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

Как попасть в hh.ru и развиваться в команде

В hh.ru 27 команд разработки: Поиск, Архитектура, Маркетинг, API, Биллинг, Мобильные сервисы, Команда iOS, Команда Android, Talantix и другие. Все вакансии размещены на нашем сайте.

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

HeadHunter ищет разработчиков

Рабочие будни в hh.ru

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

HeadHunter ищет разработчиков

В офисе можно найти все необходимое: у сотрудников всегда есть кофе, чай, печенье и свежие фрукты. В офисе также есть спортзал, массажный кабинет, капсула сна и массажные кресла. А еще в hh.ru совсем нет дресс-кода — мы за свободу самовыражения.

HeadHunter ищет разработчиков

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

В hh.ru созданы отличные условия для плодотворной и комфортной работы и органичного развития:

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

Открытые вакансии

Все вакансии в технического департамента размещены на нашем сайте.

Вакансии дня