ITDStaffSearch: расширенные возможности поиска для E-Staff
Мы уже неоднократно писали о том, что тестируем приложение для поиска IT-специалистов Amazing Hiring и какие результаты это дает (см.статьи: "Как мы поймали Android разработчика в Нижнем Новгороде" и "Бесконечная история ресечинга"). По мере использования этого интеллектуального инструмента стало очевидно, что большая часть кандидатов, найденных с помощью Amazing Hiring, уже есть в нашей базе.
Перед началом взаимодействия с любым кандидатом, в т.ч. найденым посредством Amazing Hiring, мы добавляем его профиль в нашу базу резюме. Уже много лет мы используем E-Staff. Эта система автоматически (по ФИО и/или email) проверяет добавленные резюме на наличие дубликатов. Таким образом, если кандидат в нашей базе уже есть, взаимодействие с ним мы строим исходя из уже сложившейся истории.
Оказалось, что по наиболее популярным направлениям (С/С++ dev, Java dev, C# dev, QA) в нашей базе уже есть более 90% специалистов, найденных с помощью Amazing Hiring. Несмотря на то, что система E-Staff в целом удовлетворяет нашим требованиям (об идеальной ATC для рекрутеров мы поговорим в будущих наших публикациях), с ростом числа резюме поиск кандидатов по базе превратился в огромную проблему. Именно благодаря плотной работе с Amazing Hiring, обнажилась проблема, о которой мы уже давно и много говорили, но не придавали ей особого значения: база резюме, в которой за 10 лет накоплено более 45 000 уникальных резюме программистов, тестировщиков, аналитиков и так далее, с большой историей взаимодействия, НЕ используется нами в полном объеме.
Итак...
Основные недостатки системы E-Staff:
- Низкое качество поиска
Под качеством поиска мы подразумеваем степень соответствия найденных кандидатов нашим запросам. Низкое качество связано как с несовершенным языком запросов (например, нет оператора исключения - not), так и с тем, что поиск ведется сразу по всем резюме каждого кандидата, а их у некоторых кандидатов скопилось за годы работы по 10 и более штук. В результате, кандидаты, которые в своем первом резюме, перечислили все изученные в ВУЗе технологии, теперь появляются практически во всех результатах запросов в E-Staff, независимо от того, применяли ли они эти технологии в дальнейшей работе. Особенно негативно этот эффект сказался на работе сложных запросов, полностью лишив их практической пользы.
- Нет возможности исключать обработанных в предыдущих запросах кандидатов из результатов нового поиска.
Общая стратегия поиска заключается в том, что мы идем от более узких запросов к широким. Это позволяет быстро найти подходящих людей, а дальше при необходимости расширять поиск. Для реализации этой стратегии в E-Staff приходилось делать несколько запросов, результаты которых частично дублировались, что вынуждало нас многократно обрабатывать одних и тех же кандидатов. Ситуация усугублялась тем, что даже отобранные кандидаты продолжали отображаться в результатах поиска. На эту тему мы рекомендуем познакомиться с презентацией доклада Сергея Дмитриченко, с которой он выступал на конференции "нАйТи ответ!" #9: "Как составить эффективную стратегию поиска" (скоро будет опубликовано видео, которое мы так же очень рекомендуем к просмотру).
ITDStaffSearch
Помучавшись не один год, мы решили эти проблемы, создав программу ITDStaffSearch, расширяющую возможности поиска в E-Staff. Это стало возможным благодаря тому, что версия E-Staff рекрутер 4.5 позволяет хранить базу данных в MS SQL Server, с которой можно работать напрямую. Немного "админской магии" в процессе перевода формата базы от XML файлов к MS SQL, затем "большой пакет заклинания на C#" - и программа ITDStaffSearch в виде desktop-приложения готова.
Основные поисковые возможности программы:
- Сложный язык запросов с поддержкой and, or, not, near, скобок.
Если коротко, то стало почти как в Google. Например, можно сделать такой запрос:
java and not qa and ( петербург OR СПб ) and ( selenium OR seleniumwd OR webdriver )
- Сортировка результатов поиска по релевантности.
Степень соответствия резюме кандидата запросу вычисляет полнотекстовый поиск SQL Server, и делает он это весьма не плохо. В результате, в верхней части такого списка присутствуют наиболее релевантные кандидаты. Внизу списка оказываются короткие, малоинформативные резюме, а также резюме джуниоров с множеством перечисленных технологий.
- Результаты поиска разнесены по вкладкам: “найдены”, “отобраны”, “просмотрены”.
Это позволяет не просматривать повторно отобранных и просмотренных кандидатов. Кандидат считается просмотренным, если прокручивалось его резюме или его история. С помощью кнопки «глаз» можно быстро помечать «известных» кандидатов.
- Работа (сохранение/открытие) с поисковыми запросами
Сделанные запросы автоматически сохраняются в системе, и их можно открыть в дальнейшем для продолжения работы. При этом доступна статистика работы по запросам: "найдено", "просмотрено", "отобрано", что позволяет оценивать эффективность работы, а также контролировать процесс поиска.
- Исключение из запросов результатов ранее выполненных запросов.
Например, выполнив и проработав более узкий запрос: «java and swing and (Петербург or СПБ)», далее мы делаем более широкий запрос: "java", исключив при этом результаты обработки предыдущего запроса из нового.Это позволяет нам не тратить время на кандидатов, которых мы видели при обработке более узкого запроса. Программа позволяет исключить результаты не одного, а нескольких запросов.
- Выбор области поиска ("везде"," только в резюме", "только в последнем резюме").
Это позволяет сделать поиск более точным и решает одну из перечисленных в начале статьи проблем поиска E-Staff. Например, делая поиск только по последнему резюме, мы исключаем из результатов большинство кандидатов, на старте карьеры включивших максимум технологий в свое резюме.
Другие возможности системы:
Помимо расширенных возможностей поиска, программа делает его более эргономичным:
- Быстрый отбор кандидатов на выбранную вакансию.
Достаточно нажать кнопку «+» и кандидат будет отобран на выбранную вакансию. Для того, чтобы отобрать на вакансию с помощью стандартного функционала E-Staff, нужно сделать две итерации: нажать кнопку "отобрать на вакансию", а потом выбрать вакансию из списка (обычно список включает 8-15 позиций).
- Быстрый просмотр доступных резюме.
По умолчанию отображается резюме, добавленное в базу последним. При этом в выпадающем списке меню можно открыть любое ранее добавленное резюме.
- Быстрый просмотр кандидатов или кнопка “Глаз”.
Если резюме кандидата консультанту знакомо, то одним нажатием на кнопку “Глаз” консультант отправляет его в статус - “обработан”.
- Быстрый просмотр истории взаимодействия с кандидатом.
Окно, отражающее историю взаимодействия с кандидатом, расположенное в правой части экрана, оказалось удобнее, чем аналогичная функция в E-Staff.
- Быстрое открытие кандидата в E-Staff
Двойным щелчком по строчке с ФИО кандидата можно открыть его карточку в E-Staff. Это востребовано в том случае, если кандидата нужно отобрать на другую вакансию, или мы хотим сразу ему позвонить/написать и затем оставить комментарий по данному взаимодействию.
- Подсветка ключевых слов в найденных резюме
Акцентирует внимание на словах, заданных в поиске. Реализовано примерно также, как на job-портале hh.ru.

ИТОГИ:
В результате внедрения программы мы достигли своих целей. Во-первых, нам удалось значительно оптимизировать время поиска кандидатов по базе. Во-вторых, благодаря возможностям создания сложных поисковых запросов и исключению обработанных ранее запросов, мы добрались до резюме кандидатов, которые годами не всплывали в результатах примитивного поиска E-Staff. Многие из этих кандидатов оказались людьми непубличными, не имеющими профилей в популярных социальных сетях.
В ближайшее время мы планируем выпустить коммерческую версию этой программы. Если Вам интересно получать новости по данному продукту, напишите нам письмо на адрес: dmitry@it-dominanta.ru тема письма: News ITDStaffSearch и мы сообщим Вам о выходе и стоимости коммерческой версии.
Автор поста:
Генеральный директор IT-Доминанты и разработчик программы ITDStaffSearch, Дмитрий Лаабе.