Сергей Никулин: У нас всегда есть открытые вакансии для программистов
На вопросы CNews ответил Сергей Никулин, технический директор HeadHunter.CNews: Какие сервисы для работодателей и соискателей предоставляет портал hh.ru? Как они реализуются технически? Какие технические новшества вы применяете?
Сергей Никулин: Основной сервис HeadHunter для работодателей – предоставление доступа к базе резюме и публикация вакансий на сайте, а для соискателей – актуальные вакансии российских и международных компаний.
Эти сервисы сегодня обросли множеством дополнительных. Для работодателей – это размещение вакансий на джоб-сайтах других стран через рекрутинговую сеть The Network, страницы работодателей в их корпоративном стиле, консультирование по HR-брендингу, исследования рынка труда. Для соискателей – консультирование по составлению лучшего резюме, его перевод на другие языки, отправка в лучшие кадровые агентства на основе нашего внутреннего рейтинга и возможность выделить резюме в поиске.
CNews: Как с технической стороны работает поиск вакансий и резюме на hh.ru, Career.ru, Работа@Mail.ru и других ваших проектах?
Сергей Никулин: Когда HeadHunter только появился, в качестве поискового движка мы использовали стороннее решение (тогда это был выделенный сервер Altavista), чуть позже мы перешли на поисковик, который для нас разработал сторонний подрядчик. И все же, оба эти решения не давали нам возможности полностью контролировать то, что происходит внутри нашего поисковика. А так как поиск на сайте для нас является одной из ключевых функций, нам был необходим полный контроль над этой частью системы.
В конечном итоге, я принял решение о разработке собственного поискового движка внутри компании. За основу мы выбрали библиотеку Apache Lucene и на ее базе разработали свой поисковый сервер. В результате, мы получили лучший поисковый функционал среди работных сайтов на текущий момент. Apache Lucene был значительно переработан, много специфичного функционала на базе этой библиотеки мы реализовали первыми. Например, функционал фасетов (facets) у нас появился до того, как он был реализован в основной ветке Apache Lucene.
В течение уже многих лет мы поддерживаем контакты и с основными разработчиками этой поисковой библиотеки, и с другими компаниями, которые строят свой поисковый функционал с ее использованием (например, поиск у Linkedin тоже построен на этой библиотеке).
CNews: Какие последние программные разработки вы применяете в своих новинках?
Сергей Никулин: Наш сайт написан с использованием, в основном, двух языков – Java и Python, но в последнее время мы в некоторых частях проекта стали использовать Scala. В качестве базы данных долгое время мы использовали MySQL, но потом перешли на Postgres. Этот переход позволил значительно повысить производительность БД. Сейчас наш сайт работает на PostgreSQL 9.0. Уровень View у нас реализован в виде XSL шаблонов.
Часть своих наработок мы отдаем в OpenSource, например сервер-сборщик, формирующий итоговые страницы, которые видит конечный пользователь.
CNews: Привлекаете ли вы для создания тех или иных решений сторонних разработчиков или для этого существует собственных штат ИТ-специалистов?
Сергей Никулин: У HeadHunter есть собственный штат разработчиков, которые трудятся в двух офисах – в Москве и Минске. Сейчас в московском офисе у нас трудятся более 40 разработчиков, верстальщиков и тестировщиков, а в минском – около 10. Все сотрудники входят в состав автономных команд, которых у нас сейчас 8. Каждая команда состоит из server-side разработчиков, frontend разработчиков и тестировщиков. Таким образом, каждая команда может выпускать конечный продукт (то есть код, работающий на боевых серверах).
За техническую составляющую в команде отвечает тимлид, а за организационную и взаимодействие с внутренним заказчиком – менеджер проекта. У каждой команды есть выделенный менеджер проекта. Мы стараемся сохранять численность команды в пределах от 5 до 8 человек – по нашему опыту, это позволяет добиться наивысшей продуктивности. Часть работ мы отдаем на разработку подрядчикам, соблюдая при этом главный принцип: все, что относится к основному бизнесу и ключевым частям проекта, мы делаем только внутри компании, а вспомогательные проекты могут быть отданы на разработку вовне.
При работе с внешними подрядчиками мы обязательно выделяем менеджера проекта на нашей стороне, который отвечает за общение с ним. Обычно с нами одновременно работают 3-5 компаний подрядчиков.
CNews: Существуют ли сферы деятельности, полностью переданные на аутсорсинг? Удовлетворены ли вы качеством ИТ-услуг, предоставляемых аутсорсинговыми компаниями? Какие проблемы существуют в этой сфере, из вашего опыта?
Сергей Никулин: У нас нет сфер деятельности, которые были бы полностью отданы на аутсорсинг. При работе с внешними подрядчиками, мы стараемся придерживаться схемы, когда с нашей стороны есть менеджер проекта, напрямую контактирующий с разработчиками у подрядчика. Обычно мы покупаем рабочее время программистов, что позволяет гибко подходить к разрабатываемому функционалу. В целом, мы довольны качеством услуг, хотя, конечно же, встречаются и проблемы. Как правило, если компания-подрядчик уже в первом проекте смогла хорошо себя проявить, то и в дальнейшем она сохраняет заявленный уровень качества.
И все же, качество разработки внутри, по нашему опыту, всегда выше. При этом, привлечение аутсорсеров тоже имеет свои плюсы - внутри компании вы никогда не сможете так же быстро нарастить размер команды, как это позволит сделать привлечение внешнего подрядчика.
CNews: Есть ли у вас опыт сотрудничества с фрилансерами? Если да, то какие проблемы возникают в этой связи? Насколько, на ваш взгляд, хорошо развит рынок фриланса в России?
Сергей Никулин: Для некоторых задач мы привлекаем фрилансеров, но основная их проблема – несоблюдение сроков. Еще хуже то, что некоторые фрилансеры имеют свойство «пропадать», поэтому лучше всегда иметь на примете 2-3 специалиста-фрилансера, к которым в случае необходимости можно обратиться.
За последнее время рынок фриланса очень сильно развился. В значительной мере этому способствуют такие сайты как, например Free-lance.ru
CNews: Насколько российский кадровый рынок обеспечен специалистами необходимой вам квалификации? Как вы решаете кадровые проблемы?
Сергей Никулин: Сейчас наблюдается очень острый дефицит специалистов, у нас всегда есть открытые вакансии для программистов. В то же время, поиск людей на рынке - это не единственный путь решения кадровых проблем. Гораздо эффективнее оказывается подход, позволяющий выращивать нужные кадры самостоятельно.
В прошлом году мы открыли свою школу программистов. Заявки на обучение в ней подали около 1000 человек, из них около 100 смогли выполнить тестовое задание, и уже из них мы отобрали 6 учеников, которые обучались у нас в течение полугода. Ребята работали над реальным проектом и освоили нужные нам технологии, научились командной работе. Трех выпускников школы мы взяли в штат, и сейчас они успешно работают у нас.
В этом году мы продолжили эту практику, увеличили набор до 12 человек и сейчас уже второй поток студентов начал обучение в нашей школе программистов,
CNews: Как организовать эффективную работу ИТ-подразделения? Поделитесь секретами.
Сергей Никулин: При работе с ИТ-специалистами, наряду с финансовой составляющей, очень важна нематериальная мотивация. Важно так организовать работу, чтобы люди как можно чаще могли видеть результат своего труда. Тут очень помогают гибкие методологии разработки с коротким производственным циклом.
Команды разработчиков желательно формировать таким образом, что бы в них были все люди, которые необходимы для получения конечного продукта. Например, в HeadHunter в каждую команду входят server-side программисты, frontend программисты и тестировщики. Программисты, как известно, очень не любят бюрократию, но при этом если вы объясните им причины, из-за которых приходится вводить бюрократические процедуры, то в итоге они нормально к ним относятся.
И, конечно, мы постоянно стараемся улучшать условия труда разработчиков. Например, у нас существует удобная комната отдыха, куда в любой момент могут прийти программисты и сразиться на PlayStation и XBox или просто отдохнуть. А летом все сотрудники технического департамента получили кресла Herman Miller Aeron – это очень хорошо отразилось на настроении команды.