Источник фото: Oir.mobi
Найти хорошего IT специалиста также сложно, как и волшебного единорога. Для успешного поиска IT-таланта нужно к технологии традиционного найма еще приложить в 10 раз больше информационных технологий.
Я директор по аналитике компании Максимастер. Наша команда занимается большими корпоративными внедрениями и полностью состоит из IT-разработчиков. Мы ищем и нанимаем IT-таланты. Мы не обращаемся за помощью в кадровые агентства, у нас нет HR, занимаемся поиском новых сотрудников сами.
Надеюсь, моя небольшая книга поможет кадровым подразделениям заполнять IT-вакансии по-настоящему отличными сотрудниками.
Время чтения: 1,5 часа. Все главы книги собраны на одной странице, чтобы вы могли распечатать ее в пару кликов.
1. Подготовка IT-таланта
Найм IT-таланта начинается с понимания - настоящих талантов в IT крайне мало. Это “штучный продукт”. Уж слишком долог и сложен процесс их подготовки.
Детство. Родители начинают подготовку IT-таланта с детства. Обычно образование хотя бы одного из родителей имеет отношение к точным наукам.
Источник фото: Oir.mobi
Физмат-школа. Если родители в детстве сумели заинтересовать ребенка информационными технологиями, то по достижении подросткового возраста он переходит в физико-математическую школу или лицей. После школы подросток по несколько часов каждый день готовится к олимпиадам по программированию, даже в выходные. Летом подросток не вылезает из физико-математических-программистских лагерях - Интеграл, Квант, Байтик, Пиксел,...
Олимпиады
Будущий IT-талант участвует в олимпиадах школьников - по математике и информатике. Сильная подготовка позволяет ему занимать призовые места в городе, регионе, иногда даже по стране.
Университет. По окончании физматшколы подросток поступает на факультет связанный с программированием - мехмат, ВМК, IT. После учебы каждый день студент по несколько часов готовится к студенческим олимпиадам, включая выходные.
Работа. По окончании университета наш выпускник устраивается на работу. Следующие года он учится через разработку в больших корпоративных внедрениях. Важно, чтобы с самого начала проекты были большие, пусть даже вначале в больших проектах у него будет маленькая роль. Его уровень постепенно повышается:
- джун
- мидл
- senior
По вечерам и в выходные он изучает новые технологии, делает pet-проекты для себя и своих знакомых.
К 30 годам он уже сеньор, а то и тим-лид. Большую часть своей жизни он интенсивно изучал и практиковался в математике и информационных технологиях - по 8 часов в день, 7 дней в неделю, 365 дней в году. 366 в високосном.
Он (или она) это элита в мире IT.
Давайте посмотрим, как мы ищем и нанимаем IT элиту.
2. Личный найм
Найм без HR
На Habr.com один из директоров делится своим опытом IT-найма:
Более десяти лет руководства небольшими IT компаниями/стартапами научили при поиске ярких талантов заниматься этим лично, а не делегировать HR. Которые вместе с идиотами отсеивают заодно и гениев - менеджеру по персоналу часто сложно отличить их друг от друга.
Еще один IT-руководитель на Habr.com дает аналогичный совет:
adiakov: Я занимаюсь систематически кейсами по организации IT-отделов компании с нуля. У меня есть также опыт обслуживания и консультации по подбору реальных (!) специалистов. Я сформулировал для себя несколько основных правил подбора и формирования IT-команды.
Правило 1. Убрать HR из процесса IT-найма, совсем. Да, ваша нагрузка выше, но зато вы не упустите целый пласт ценных кадров. ... Пусть HR только оформляет документы, в идеале получая их от вас или в вашем присутствии. Любое (!) вмешательство HR в подбор должно пресекаться. Если он хочет «оценивать» — значит хочет взять на себя ответственность за работу IT-отдела. И это расценивать только так, никак иначе.
В нашей компании мы тоже не жалеем своего времени на поиск IT-талантов и занимаемся наймом без HR.
Опережающий найм
Опережающий найм - наше основное направление поиска новых IT-талантов. Мы начинаем искать IT-таланты задолго до того, как они станут доступными на рынке труда.
Поиск звезд IT разработки начинается с их студенческой скамьи. Мы активно помогаем местным университетам готовить IT-таланты:
- читаем лекции в профильных факультетах университетов. Пытливых студентов берем на заметку
- организуем региональные студенческие олимпиады по программированию. Участие в оргкомитете позволяет поближе познакомиться со студентами-олимпиадниками. Случайных людей среди них нет
- спонсируем призы для победителей студенческих олимпиад. Победителей приглашаем в наш офис за получением призов победителей. Заодно знакомим их с командой и условиями работы
- приглашаем талантливых студентов на практику, чтобы студент присмотрелся к команде, а команда к нему
- после практики предлагаем студентам поработать в компании на полставки до конца обучения в университете. После окончания выпускник скорее всего продолжит работать в нашей компании. Ему сразу повышаем должность и зарплату
- после окончания университета берем талантливых выпускников на стажировку. Если стажер находит общий язык с командой, то после окончания стажировки предлагаем ему перейти к нам на постоянную работу.
Сильные разработчики, которые уже где-то работают, также интересны для найма. Для их поиска мы:
- проводим открытые технические митапы для разработчиков
- посылаем своих разработчиков участвовать в хакатонах в качестве экспертов
- развиваем Open Source проекты. Ищем думающих разработчиков, которые добавляют код в open source проекты компании
- поощряем бонусами наших сотрудников, которые ищут подходящих кандидатов среди своих знакомых разработчиков.
Когда удается найти работающих хороших разработчиков, то стараемся их узнать поближе и заодно познакомить с нашей командой. Продолжаем поддерживать связь с разработчиком. Когда разработчик снова выйдет на рынок труда:
- наш звонок уже не будет для него звонком “какой-то” компании
- он может даже сам связаться с нами, еще только когда он начнет задумываться о смене работы.
Уволившиеся местные IT-талантов
IT-компании стараются создать все условия для работы и обучения своих талантов. Но увольнения все равно иногда случаются. Например, разработчика могут заинтересовать задачи или технологии, которых нет в его компании. В этом случае разработчик увольняется.
Уволившиеся IT-таланты на местном рынке особо привлекательны для найма. И одновременно особенно сложны для найма из-за большой конкуренции за них.
После увольнения хороший разработчик уровня мидл или сеньор не сильно беспокоится о поиске нового места работы. Он планирует пару недель отдохнуть, а затем будет обзванивать знакомых разработчиков из других компаний в поисках работы.
Но не тут-то было. Информация о хорошем разработчике без работы тут же распространяется по IT-кругам общения в его городе.
В первый же день без работы разработчика заваливают звонками директора IT-фирм и руководители IT-отделов. Они рассказывают об интересных задачах, которые решаются в компании и приглашают на встречу. Разработчик составляет расписание встреч на следующие дни. Первыми в списке стоят знакомые разработчику компании и компании с близкими ему задачами.
Второй день без работы разработчик ездит по офисам, проводит собеседование в четырех-пяти компаниях. Он получает хорошее представление о том, что его ждет в этих компаниях и об уровне зарплаты. В следующие дни он может продолжить собеседовать другие компании из списка. Но чаще всего, выбор уже понятен по итогам одного дня собеседований.
На третий день разработчик выходит на новое место работы.
Найм через дружественную IT компанию
По нашей статистике хороший IT мидл или сеньор находит работу в среднем за 2,5 дня. Некоторые компании вне IT тоже понимают это.
Иногда нашим компаниям-клиентам выпадает случай нанять хорошего IT-сотрудника. Они не отдают кандидата своим HR-ам, а обращаются за помощью к нам. Мы тоже заинтересованы, чтобы со стороны клиента с нами общался хороший разработчик.
Один из наших разработчиков проводит техническое интервью. Он прекрасно знает IT-потребности компании-клиента, может ответить на вопросы кандидата и заодно провести техническое собеседование. Если кандидат проходит наше собеседование, то сразу после нас он отправляется на встречу со своим будущем руководителем в компании-клиенте. Они обсуждают условия работы. Если стороны приходят к согласию по условиям и зарплате, то кандидат получает оффер в день обращения.
Независимо от результатов мы высылаем компании-клиенту счет на оплату 2-х часов времени нашего разработчика:
- 1 час на подготовку к техническому собеседованию
- 1 час собеседования.
3. Разработка текста вакансии
В последние 10-15 лет биржи труда перетекли в Интернет. Белых воротничков нанимают в основном через hh.ru. Habr.com на глазах сдает позиции.
Если хочется получать запросы от сильных кандидатов, то сначала нужно изучить как они сами ищут и оценивают подходящие вакансии. Тогда будет понятно, как составить вакансию.
Как ищут сами IT-таланты
Во время написания статьи я попросил нескольких IT-разработчиков показать, как они искали бы вакансии на hh.ru. Были опрошены два мидла и три сеньора. Больше опрашивать не стал, потому что разработчики ищут примерно одинаково. Они соблюдают четыре характерных момента.
Момент 1) Использование расширенного поиска. “Соискатели” делают 2-3 тестовых запроса. Они быстро обнаруживают, что среди результатов стандартного поиска сложно найти нужное. Интересные вакансии теряются среди множества ненужных. Тогда “соискатели” нажимают кнопку с ползунками “Расширенный поиск”:
На странице расширенного поиска их ждет множество полей и опций, предназначенных для усиленной фильтрации результатов поиска. “Кандидаты” делают такие настройки:
- “Уровень дохода” - указывается нижняя граница зарплатных ожидания
- “Показывать только вакансии с указанным уровнем дохода” - ставится галочка. Это заодно отсекает вакансии без зарплатной вилки (таких 84%)
На сайте habr.com IT-специалисты делятся аналогичным подходом:
YDR: Без вилки зарплат почти сразу отбрасываю. Вакансия может быть интересная, а на деле - дочка какой-нибудь внучки ФГУПа, и на зарплату почти ничего не остается, какие-нибудь 70000р по какой-нибудь разрядной сетке.
svartberg: Лично я стараюсь избегать вакансий, где нет зарплаты. Такое сразу наводит на мысль, что от вас что-то скрывают и пытаются обмануть. Если мне первыми пишут сами HR, то продолжаю разговор только после того, как они укажут вилку. Было достаточно кейсов: "мы богатая компания, проблем с деньгами нет", а после 4 этапов интервью, в момент обсуждения офера оказывается, что: "ой а больше мы не можем на эту позицию предложить", при том, что у меня уже есть несколько других оферов, на гораздо большую сумму.
"Кандидаты" делают еще две настройки:
- “График работы” указывается как “Удаленная работа”. Зарплаты на удаленной работе выше, каждый день экономится 2-4 часа на поездку в офис и обратно, руководство удаленных вакансий более внимательно относится к своим сотрудникам
- “Другие параметры”
- галочку на опцию “Без вакансий от кадровых агентств”. У кадровых агентств часто слишком строгий многоэтапный процесс найма
- если “кандидат” живет по месту прописки, то может поставить галочку на опцию “От аккредитованных ИТ-компаний”.
После таких настроек в результатах поиска остается 3-5% вакансий - с удаленным форматом работы и подходящей зарплатной вилкой. Это самые привлекательные вакансии на рынке труда, только они получают внимание IT-талантов.
Момент 2) Оценка зарплатной вилки. Далее “кандидаты” оценивают зарплатную вилку. Если они видят признаки сомнительной зарплатной вилки:
- или границы сильно ниже/выше рынка
- или разброс вилки в разы
- или зарплата строится по схеме “оклад + проценты”
то "кандидаты" нажимают кнопку “Не показывать больше вакансии этой компании”.
Если разброс вилки в пределах 30-50%, она примерно в рынке и пересекается с зарплатными ожиданиями соискателя, только тогда “кандидаты” переходят на страницу вакансии.
Момент 3) Скрининг вакансии. Если соискатели не находят в вакансии ответы хотя бы на половину своих вопросов, то они нажимают кнопку “Не показывать больше вакансии этой компании”. Они не хотят иметь больше дела с компаниями, которые по каким-то причинам составляют вакансию размыто.
В статье на hh.ru “Почему нет откликов на вакансию? Чек-лист типичных ошибок” есть даже подробное описание “Ошибка № 7: много воды и тумана в тексте”.
Но если вакансия отвечает на большинство вопросов соискателей, то IT-таланты используют совсем другие кнопки:
- если вакансия подходит, нажимается кнопка “Откликнуться”
- даже если вакансия не подходит, то IT-таланты нажимают кнопки:
- “Подписаться на новые вакансии данной компании”
- “Хочу работать в этой компании”
Момент 4) Форма. Иногда после нажатия на кнопку “Откликнуться” появляется форма на много полей:
- ФИО
- контакты
- зарплатные ожидания
- приходилось ли иметь дело с такой-то информационной технологией
- сколько лет опыта работы в банковской сфере
- …
Фактически, менеджер по персоналу вместо чтения стандартного для hh.ru резюме кандидата предлагает ему заново заполнить резюме по шаблону, разработанному менеджером. (Хотя большинство нужной информации можно найти в готовых резюме IT-соискателей. Они довольно подробно расписывают в стандартном резюме hh.ru свои места работы и технологический стек).
Если IT соискатели видят предложение заполнить любую форму, они без тени сомнения жмут кнопку “Не показывать больше вакансии этой компании”.
На habr.com IT специалист делится опытом соискателя.
Первые месяцы я заполнял формы, потом бросил. От заполненных форм я не получил ни одного приглашения.
Я сделал выводы, что заполнение форм это трата времени в черный ящик. Более того, тут есть имитация заинтересованности со стороны работодателей: они рассылают эту гугл-форму всем соискателям автоматически. При этом от тебя требуют затрат времени — обдумать вопросы и вписать ответы займет минимум 15 минут.
Совет. Не тратьте время на формы. Лучшие работодатели нанимают хороших эйчаров. А те в состоянии оценить вас по резюме.
Аналогичное негативное отношение у IT специалистов к предложению перед разговором с живым представителем компании сначала пройти опрос или выполнить тестовое задание.
На Habr.com IT-специалист пишет:
Ravager: Я человек простой. Когда вижу что просят тестовое при опыте работе 10+ лет, отвечаю отказом.
Еще один специалист объясняет, почему он не выполняет тестовые задания:
Starfair: Убивать время на тестовые задания чтобы потом оказаться либо слишком опытным, либо слишком старым - нафик-нафик! Сколько таких заданий ни выполнял, по итогу оффер я так и не получал ни разу!
Еще одно объяснение, почему опытные специалисты не будут выполнять тестовые задания:
Ravager: Опытные люди с возрастом начинают ценить свое время. Давая им тестовое вы отсекаете просто адекватных людей, которые не хотят тратить свое время на очередное доказывание что он может написать worker pool или lru cache. Они уже все всем доказали и просто хотят найти работу, где их знания и навыки будут полезны.
Если в будущем hh.ru введет дополнительную опцию “Не показывать вакансии с формой/опросом/тестовым заданием”, то опытные IT-специалисты дружно начнут отмечать ее.
Информативная вакансия
Итак, успешный найм сильных IT специалистов на hh.ru начинается с составления информативной вакансии.
В информативной вакансии IT-компания сообщает всю информацию, которая может быть интересна соискателям.
- Технологический стек компании
- Найм:
- из каких этапов состоит процесс найма
- есть или нет в процессе найма есть тестовое задание. Если есть, то будет ли оно оплачиваться или нет
- технологии, которые будут проверяться на собеседовании
- Оплата:
- зарплатная вилка с разбросом не более 30-50%
- как будут оформлены трудовые отношения - по ТК РФ, ИП, самозанятый,...
- Режим работы
- формат работы - офис/гибрид/удаленка/режим на выбор соискателя
- во сколько начало рабочего дня. Может ли его выбрать сам сотрудник
- практикуются ли переработки. Если да, то оплачиваются ли они по по статье 152 ТК РФ
- как компания контролирует удаленных сотрудников
- В каком виде проводится онбординг новых сотрудников
- …
Информативная вакансия помогает IT-компании:
- проявить уважение ко времени сильных соискателей
- делегировать соискателям самостоятельную оценку: интересна ли им вакансия? подходят ли они под требования вакансии?
- избавиться от необходимости задавать множество вопросов соискателям
- сократить во много раз количество запросов на вакансию
- сократить во столько же раз время на обработку запросов и проведение собеседований.
Информативная вакансия привлекает внимание самых сильных соискателей. Даже если им не подходит данная вакансия, то оставаться на связи с компанией им помогут кнопки “Подписаться на вакансии данной компании” и “Хочу работать в этой компании”.
Ссылка:
- "Как сделать вакансию, на которую будут откликаться — инструкция", статья на habr.com
4. Активный поиск сотрудников на hh.ru
Сравнение пассивного и активного поиска
После публикации вакансии hh.ru предлагает два способа поиска кандидатов:
- Пассивное ожидание. hh.ru будет показывать вакансию в поиске вакансию. Рекрутеру остается ждать пока кандидаты сами найдут вакансию
- Активный поиск. hh.ru предоставляет рекрутеру поиск резюме кандидатов и возможность отправить им приглашение посмотреть вакансию.
Пассивное ожидание это самый простой способ заполнения IT вакансии. Зарплаты в IT хорошие, все хотят "войти в IT". Сиди да отбирай подходящих кандидатов из длинной очереди. К тому же пассивное ожидание психологически наиболее комфортно для рекрутера. Но у пассивного ожидания есть также много минусов:
- если кандидат активно рассылает запросы, то он совершенно так же сидит да отбирает отклики менеджеров по персоналу
- за него идет борьба среди множества менеджеров по персоналу
- интересные кандидаты могут не заметить вашу вакансию в результатах поиска среди множества подобных
- чем сильнее кандидат, тем меньше шансов что он будет рассылать свои предложения по рекрутерам. Сильные кандидаты предпочитают пассивно разместить резюме и ждать запросы от компаний. Особенно если они лишь подумывают о смене работы.
Нежелательно делать пассивное размещение вакансий единственным способом поиска сотрудников. Параллельно с пассивным размещением вакансий нужно вести активный поиск сотрудников через поисковые запросы к hh.ru.
Активный способ тоже со своими минусами и плюсами.
Минусы активного поиска:
- технически это более сложный способ
- он психологически не очень комфортен. В нем рекрутер должен первым обратиться к кандидату и просить познакомится с вакансией.
Но у активного поиска есть сильные плюсы:
- это проявление уважения к IT-таланту. В человеческом общении обычно младший первым приветствует старшего
- нет нужды мучить кандидата заполнением типовой формы. Вы уже прочитали его резюме
- к самым интересным кандидатам можно отправить индивидуально составленный запрос
- и главное, становятся доступны сильные кандидаты, которые лишь пассивно опубликовали резюме. За них намного меньшая конкуренция среди менеджеров по персоналу.
Чем больше мастерства у менеджера по персоналу, тем больше кандидатов он получает с помощью активного поиска резюме. На высшем уровне найма используют исключительно активный поиск:
Хедха́нтинг (англ. headhunting «охота за головами» от head «голова» + hunting «охота») — это направление поиска и подбора персонала ключевых и редких как по специальности, так и по уровню профессионализма специалистов.
Поисковый запрос
Рассмотрим ситуацию, когда менеджер по персоналу хочет найти на hh.ru подходящие IT-резюме системного аналитика. Он настраивает расширенный поиск на нужный регион, зарплатные ожидания,... Далее он формулирует свой запрос в поле поиска сотрудников.
Чем длиннее запрос, тем выше мастерство рекрутера в активном поиске кандидатов.
Начинающие рекрутеры. В 29% случаев в поле поиска hh.ru будет введено единственное слово “аналитик”. Это характерно для начинающих менеджеров по персоналу.
Единственное слово “аналитик” покажет им в результатах поиска резюме десятки видов аналитиков:
- Аналитик отдела продаж
- Аналитик-маркетолог
- Бизнес-аналитик
- Веб-аналитик
- Инвестиционный аналитик
- Кредитный аналитик
- Маркетолог-аналитик
- Системный аналитик
- Финансовый аналитик
- Экономист-аналитик
- …
Большая часть времени уйдет на то, чтобы выискивать среди них резюме аналитиков нужного типа.
Опытные рекрутеры. 69% ищущих вводят в поле запроса несколько слов, например “системный аналитик”. Это опытные менеджеры по персоналу.
Введение полного названия должности сократит в 30 раз количество резюме в результатах поиска. Но среди них все равно останется множество похожих, но ненужных резюме:
- аналитик
- системный аналитик (junior)
- marketing analyst
- программист-аналитик Axapta
- трейдер-аналитик
- …
Гуру. Оставшиеся 2% ищущих вводят в поле запроса сотрудников сотни (без преувеличения) слов. Не стал обозначать их как "Гуру-рекрутеры". Потому что обычно это IT-специалисты в компаниях без HR, которым сами ищут будущих коллег.
Сверхдлинные запросы на hh.ru от гуру максимально подробно расписывают все виды аналитических должностей, которые нужны и отбрасывает ненужные. Почти все найденные резюме будут интересны, а в отброшенные попадут лишь единичные интересные резюме.
Далее покажу на примере, как я составляю сверх-длинный запрос и расскажу об информационных технологиях, которые для этого потребуется.
Технология 1. Язык поисковых запросов hh.ru
Допустим, мне нужно найти сотрудника. Я хорошо представляю требования к нему:
Нужен системный аналитик. Не лишним будет чтобы он когда-то занимался бизнес-анализом. Еще хотелось бы, чтобы у него был опыт руководства. Опыт работы в финансах или инвестициях будет плюсом. Не хотелось бы иметь дело с кандидатами, работавшими с криптовалютой, в разработке игр, ставками на спорт. Но если кандидат занимался прогнозами или олимпиадник, то ему можно простить все. …
Я могу попробовать вписать в поле поиска резюме мое представление об идеальном кандидате. Но искусственный интеллект hh.ru очень позитивен, любое слово в запросе он воспринимает как нужное мне качество специалиста. Даже если перед этим словом стоит "Не хотелось бы иметь дело с кандидатами, работавшими..." в ответ я получу список вакансий, где нужные кандидаты перемежаются с ненужными специалистами по криптовалюте, взысканию долгов, геймингу и беттингу. Как же мне подробно сформулировать требования к резюме?
Разработчики hh.ru, наши братья по IT-вере, поддерживают язык запросов поиска резюме. Они разрешили вводить в поле поиска сверхдлинные запросы в 500 слов и больше. И пусть лишь 2% пользователей используют язык поисковых запросов, язык поисковых запросов будет существовать всегда, пока живы IT-разработчики.
Язык запросов поиска резюме на hh.ru является языком программирования для обращения к базе резюме. Это упрощенный вариант всем известного SQL - языка структурированных запросов к базе данных.
SQL (от англ. Structured Query Language — «язык структурированных запросов») — язык программирования. Предназначен для извлечения данных, хранимых в базах данных.
Язык программирования запросов для поиска резюме позволяет мне максимально точно сформулировать пожелания к резюме:
- указание слова ищет все его словоформы и синонимы
- если нужна точная форма слова, спереди нужно указать восклицательный знак
- заключение в кавычки помогает искать словосочетания
- можно формировать логические выражения с помощью операторов AND OR NOT
- логические выражения можно вкладывать друг в друга с помощью круглых скобок
- можно искать только в определенных полях резюме - в наименованиях компаний-работодателей, в желаемой должности, в описании обязанностей,...
Поэтому я оформляю мой сверхдлинный запрос на поиск резюме как программу на языке запросов. У программы две задачи:
- остановить искусственный интеллект hh.ru
- взамен на строгом языке программирования сформулировать критерии подходящих и неподходящих резюме, определить какие комбинации требований к резюме приемлемы а какие недопустимы.
Пример сверхдлинного запроса, который я запрограммировал на языке запросов резюме hh.ru:
((WORKPLACES:(NOT(университ* OR академ* OR институт* OR микрокредит* OR микрофинанс* OR государств* OR городск* OR градострой* OR gam* OR iGam OR bet* OR крипт* OR crypt))) AND POSITION:(NOT(1C* OR 1С* OR крипт* OR кредит* OR акци* OR андеррайтер OR специалист OR координатор OR стажер* OR младший OR помощник OR джун OR junior OR ассистент* OR ИБ OR информационн* безопасност* OR казначейс* OR облигаци* OR betting OR gaming OR igam OR поддержка OR градостроитель* OR архитектор* OR товар* OR клиент* OR снабжен* OR правов* OR документооборот* OR документар* OR промышленност* OR производств* OR "F.Doc" OR "ЭДО" OR СЭД OR QORT OR "санкционн* комплаенс*" OR продуктов* OR товародвижени* OR кибербезопасност* OR защит* OR безопас* OR ML OR ML-инженер OR "machine learning" OR NLP OR HR OR инженер* OR HRD OR персонал* OR юри* OR DWH OR продаж* OR привлеч* OR бухгалт* OR транзакци* OR преподаватель OR учитель OR ассистент OR игров* OR game* OR склад* OR ценообразован* OR товар* OR категори* OR pr OR закуп* OR прораб OR SMM OR онлайншкол* OR онлайн-школ* OR разработчик* OR брокер* OR контент* OR e-com* OR розни* OR banking OR методологи* OR кабинет OR "менеджер проектов" OR "project manager" OR "account manager" OR скоринг* OR облачн* OR e-comm* OR автомоб* OR AWS)) AND WORKPLACE_DESCRIPTION:(NOT(бухгалтерск* учет OR ИБ OR "информационн* безопасност*" OR "компьютер* безопасност*" OR крипт*))) AND ((POSITION:(прогноз* OR BI OR "Power BI" OR "Дата-инженер" OR "Data-Engineer")) OR (POSITION:(анали* OR analy* OR модел* OR оценк*) AND (POSITION:(финанс* OR инвест* OR fintech OR fin tech OR финтех OR фин тех OR жилой OR жилая OR недвижим* OR строитель* OR застрой* OR девелопер* OR портфель*) OR WORKPLACES:(Fintech OR Fin Tech OR Фин* OR PropTech OR Invest* OR Инвест* OR недвижим* OR строитель* OR застрой* OR девелопер*) OR WORKPLACE_DESCRIPTION:(олимпиад* OR olympiad*))) < OR POSITION:((анали* OR analy* OR scientist OR engineer OR математ* OR ИТ* OR IT OR модел*) AND (data OR данны* OR дата) AND NOT (base)) OR POSITION:((анали* OR analy*) AND (директор OR начальник OR владелец OR бизнес-партнер OR бизнеспартнер OR партнер OR руководитель OR управляющий OR team lead OR team-lead OR teamlead OR тимлид OR ведущий OR главный OR head OR лид OR lead OR старший OR сеньор OR senior)) OR POSITION:(system analy* OR системн* анали* OR бизнес-анали* OR бизнес анали* OR business analys*))
Не языком запросов единым. Но невозможно взять и написать программу из сотни слов на языке запросов. Такой запрос не будет работать из-за многочисленных ошибок при составлении.
Язык поисковых запросов резюме это всего лишь верхушка, которая составляет лишь 1/10 часть технологий активного поиска резюме. Разработка правильного сверхдлинного запроса опирается на намного большую невидимую часть:
Источник фото: 1freewallpapers.com
Невидимое основание состоит из вороха информационных технологий, которые программисты придумали для разработки программ. Эти сопутствующие технологии помогают мне программировать и совершенствовать сверхдлинный запрос на поиск резюме в базе hh.ru.
Технология 2. Редактор поискового запроса
Поле поиска сотрудников на hh.ru выполняет роль замочной скважины, через которую одновременно видно примерно 8-10 слов:
Мне же удобнее работать когда поисковый запрос расположен на множестве строк и я могу их одновременно видеть. Я перевожу запрос из 1D в 2D - разбиваю поисковый запрос на поиск резюме на много строк и вставляю комментарии. Это облегчает чтение запроса и понимание:
- Многострочный запрос на поиск резюме
-
# Любой знак решетки и информация после него до конца строки считаются комментарием и должны быть удалены из финального поискового запроса.
# Права на запрос. Этот запрос принадлежит мне. Я его писал и отлаживал во внерабочее время, на моем личном компьютере и с моим домашним Интернетом.
# Лицензия. При использовании запроса в Интернет, поставьте ссылку на эту статью.
# Запрос основан на языке запросов поиска резюме на hh.ru: https://hh.ru/article/25295
# POSITION: — искать в желаемой должности (названии резюме)
# WORKPLACES: — искать в названиях компаний-работодателей, где работал соискатель;
# WORKPLACE_DESCRIPTION: — искать в описании обязанностей;
# ===== Сначала ищем стоп-слова. Наличие любого слова сразу отбросит резюме
# "Запрещенные" слова. Если в резюме встретится одно из запрещенных слов, то оно отбрасывается:
( # Открывающая скобка для "запрещенных слов"
# Запрещенные слова в наименованиях компаний-работодателей соискателя:
(WORKPLACES:(NOT(университ* OR академ* OR институт* OR микрокредит* OR микрофинанс* OR государств* OR городск* OR градострой* OR gam* OR iGam OR bet* OR крипт* OR crypt)))
# Запрещенные слова в названии (должности) резюме:
AND POSITION:(NOT(1C* OR 1С* OR крипт* OR кредит* OR акци* OR андеррайтер OR специалист OR координатор OR стажер* OR младший OR помощник OR джун OR junior OR ассистент* OR ИБ OR информационн* безопасност* OR казначейс* OR облигаци* OR betting OR gaming OR igam OR поддержка OR градостроитель* OR архитектор* OR товар* OR клиент* OR снабжен* OR правов* OR документооборот* OR документар* OR промышленност* OR производств* OR "F.Doc" OR "ЭДО" OR СЭД OR QORT OR "санкционн* комплаенс*" OR продуктов* OR товародвижени* OR кибербезопасност* OR защит* OR безопас* OR ML OR ML-инженер OR "machine learning" OR NLP OR HR OR инженер* OR HRD OR персонал* OR юри* OR DWH OR продаж* OR привлеч* OR бухгалт* OR транзакци* OR преподаватель OR учитель OR ассистент OR игров* OR game* OR склад* OR ценообразован* OR товар* OR категори* OR pr OR закуп* OR прораб OR SMM OR онлайншкол* OR онлайн-школ* OR разработчик* OR брокер* OR контент* OR e-com* OR розни* OR banking OR методологи* OR кабинет OR "менеджер проектов" OR "project manager" OR "account manager" OR скоринг* OR облачн* OR e-comm* OR автомоб* OR AWS))
# Запрещенные слова в описании обязанностей:
AND WORKPLACE_DESCRIPTION:(NOT(бухгалтерск* учет OR ИБ OR "информационн* безопасност*" OR "компьютер* безопасност*" OR крипт*))
) # Закрывающая скобка для "запрещенных слов"
# ===== Если в резюме не найдено запрещенных слов, то продолжаем поиски в нескольких группах резюме
AND ( # открывающая скобка для групп резюме
# Группа 1. Любые резюме, связанные с прогнозами
(POSITION:(прогноз* OR BI OR "Power BI" OR "Дата-инженер" OR "Data-Engineer"))
# Группа 2. Любые аналитические резюме, связанные с инвестициями, финансами, недвижимостью
# Аналитические резюме
OR (POSITION:(анали* OR analy* OR модел* OR оценк*)
AND ( # Начало перечисления
# или со специализацией в финансах, инвестициях или недвижимости:
POSITION:(финанс* OR инвест* OR fintech OR fin tech OR финтех OR фин тех OR жилой OR жилая OR недвижим* OR строитель* OR застрой* OR девелопер* OR портфель*)
# или в компаниях из финансов, инвестициях или недвижимости:
OR WORKPLACES:(Fintech OR Fin Tech OR Фин* OR PropTech OR Invest* OR Инвест* OR недвижим* OR строитель* OR застрой* OR девелопер*)
OR WORKPLACE_DESCRIPTION:(олимпиад* OR olympiad*)
) # конец перечисления
) # конец Группы 2
<# Группа 3. Резюме аналитиков данных
OR POSITION:((анали* OR analy* OR scientist OR engineer OR математ* OR ИТ* OR IT OR модел*) AND (data OR данны* OR дата) AND NOT (base))
# Группа 4. Любые аналитические резюме связанные с руководством
OR POSITION:((анали* OR analy*) AND (директор OR начальник OR владелец OR бизнес-партнер OR бизнеспартнер OR партнер OR руководитель OR управляющий OR team lead OR team-lead OR teamlead OR тимлид OR ведущий OR главный OR head OR лид OR lead OR старший OR сеньор OR senior))
# Группа 5. Резюме системных и бизнес-аналитиков
OR POSITION:(system analy* OR системн* анали* OR бизнес-анали* OR бизнес анали* OR business analys*)
) # закрывающая скобка для групп резюме
Я сохраняю многострочный поисковый запрос в виде файла скрипта Python с расширением .py (латинскими буквами). Редактирую запрос в Microsoft Visual Studio Code, моем любимом редакторе для разработки программ:
Редактор видит в имени файла расширение .py (латинскими буквами) и работает с поисковым запросом как с Python-скриптом:
- показывает сразу много строк
- игнорирует комментарии (текст начиная со знака # и до конца строки) и выделяет их зеленым
- выделяет вишневым цветом фразы в кавычках
- чередует цветами пары вложенных скобок
- если поставить курсор вовнутрь запроса, выделяет синим фоном ближайшие окружающие круглые скобки.
Даже такой небольшой функциональности вполне достаточно, чтобы с комфортом читать и редактировать многострочный запрос на поиск резюме.
Технология 3. Скрипт-компилятор
База резюме hh.ru работает только с однострочным запросом на поиск резюме и не понимает комментарии. Я написал небольшой скрипт-компилятор на Python. Он получает на вход мой многострочный поисковый запрос и преобразует (компилирует) его в однострочный запрос для hh.ru. Скрипт-компилятор:
- удаляет комментарии
- сводит многострочный запрос в одну строку
- проверяет соответствие открывающих и закрывающих скобок, кавычек и их корректную вложенность
- проверяет правильность синтаксиса (AND и OR не должны стоять рядом, не должны стоять после открывающей скобки, не должны стоять перед закрывающей скобкой, NOT не должен стоять перед AND или OR,...)
- если в запросе обнаружена ошибка, сообщает номер строки и вид ошибки (hh.ru выполняет ошибочные запросы, запуская ту часть запроса которую удалось распознать и не сообщает об ошибке)
- …
Если все в порядке, скрипт-компилятор сохраняет преобразованный запрос в виде одной сверхдлинной строки. Остается только вставить однострочный запрос в поле поиска сотрудников на hh.ru и сделать настройки расширенного поиска.
Технология 4. Ручное тестирование
Я постоянно тестирую свой текущий поисковый запрос на наличие в нем ошибок.
Ручное тестирование заключается в поиске ошибок фильтрации, которые бывают двух родов:
1) α-ошибка, ложноположительное заключение.
Альфа-ошибка состоит в пропуске неподходящих резюме. Если я вижу в результатах поиска неподходящие резюме, то вношу соответствующие изменения в мой поисковый запрос. Обновленный скрипт исключит в будущем неподходящие резюме подобного типа
2) β-ошибка, ложноотрицательное заключение.
Бета-ошибка заключается в отбрасывании хороших резюме. После просмотра резюме по моему поисковому запросу я иду в список резюме, рекомендованных hh.ru. Иногда там Искусственный Интеллект от hh.ru подбрасывает интересное резюме, которая почему-то было отброшено моим поисковым запросом. Это означает что где-то в моем запросе есть ошибка, которая отсеяла это резюме. Я нахожу ошибку и исправляю запрос. Обновленный запрос начинает показывать интересное резюме. Вместе с ним начинают показываться множество аналогичных интересных резюме, которые ранее отсеивались из-за найденной ошибки.
Технология 5. Мутационный анализ
Мутационный анализ это разновидность тестирования.
Википедия о мутационном анализе
Мутационный анализ (мутация поискового запроса) — это метод автоматического анализа поискового запроса, который включает небольшие изменения текста запроса. Если после изменений текста запроса не наблюдается никакого изменения в результатах поиска, то измененный кусок считается потенциально ошибочным.
Я написал Python-скрипт мутационного анализа, который выполняет в исходном запросе одну из небольших мутаций:
- замена какое-нибудь OR на AND
- замена какое-нибудь AND на OR
- удаление одно из слов NOT
- вставка NOT после OR или AND
- замена произвольного слова на какую-нибудь конструкцию, которая всегда истинна. В качестве заведомо истинной конструкции в мутационном анализе мне нравится приводить классическую фразу из шекспировского монолога Гамлета: (“to be” OR NOT “to be”)
- или замена произвольного слова на конструкцию, которая всегда ложна. Мой самый любимый пример это конечно: (“to be” AND NOT “to be”) , привет от Кота Шредингера из квантовой физики:
- или замена произвольного слова в запросе на длинное несуществующее слово, например: йцукенгшщзхъфывапролджэ
- …
Мутационный анализ выполняется по следующему алгоритму:
В поисковом запросе проверить на мутацию каждое слово и оператор (AND, OR, NOT):
- выбрать для очередного слова/оператора случайным образом один из подходящих вариантов мутационной замены
- проанализировать, какие резюме выдает hh.ru для слегка мутированного запроса.
- если резюме те же самые, что и для исходного запроса, то запомнить это слово как возможно ошибочное.
Если при мутационном изменении какого-то слова или оператора количество найденных резюме не меняется, то возможно оно не нужно или логическое выражение с его участием составлено некорректно.
Python-скрипт мутационного анализа по очереди проверяет все слова и операторы в поисковом запросе на устойчивость к мутации. На обращении к hh.ru и сравнивание первых 100 результатов уходит время. Для убыстрения анализа Python можно сравнивать результаты поиска (без мутации слова и с его мутацией) без сравнения списка вакансий, а сравнивая лишь разницу в количесте результатов найденных запросов.
По окончании Python-скрипт выдает результаты мутационного анализа. В исходном поисковом запросе будут выделены красным фоном все слова и операторы (AND, OR, NOT), которые похоже никак не влияют на результаты поиска.
Мне остается лишь разобраться, какие из выделенных слов и операторов действительно лишние и почему они оказались в поисковом запросе.
Технология 6. Рефакторинг
По мере изучения найденных резюме я продолжаю день за днем уточнять совершенствовать поисковый запрос. Он разрастается, становится сложно понимать что он делает. Я периодически делаю рефакторинг запроса, чтобы он снова стал ясным и понятным:
Рефа́кторинг (англ. refactoring), или перепроектирование поискового запроса — процесс изменения структуры поискового запроса, не затрагивающий его внешнего поведения и имеющий целью облегчить понимание его работы.
В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, искателю легче проследить за его правильностью, и в то же время вся последовательность преобразований может привести к существенной перестройке поискового запроса и улучшению его согласованности и четкости.
Назначение рефакторинга проще показать на примере шкафа в серверной. Слева шкаф со спутанными кабелями. Справа тот же самый шкаф, но с кабелями после рефакторинга (системные администраторы называют этот процесс кабель-менеджментом):
Источник фото: Dzen.ru
Технология 7. Обфускация
Если рефакторинг делает сложный и запутанный поисковый запрос ясным, то обфускация имеет прямо противоположную цель. Она превращает ясный поисковый запрос в сложный и запутанный.
Обфуска́ция (от лат. obfuscare — затенять, затемнять; и англ. obfuscate — делать неочевидным, запутанным, сбивать с толку) или запутывание поискового запроса — приведение поискового запроса к виду, сохраняющему его функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию.
Я делаю обфускацию с помощью еще одного Python-скрипта. Например, простейший запрос
слово1
скрипт обфускации преобразует в более сложный запрос, но совершенно аналогичный по результату:
слово1 OR NOT (слово2 OR NOT слово1 OR слово3)
Слова слово2 и слово3 могут быть любыми, они нужны лишь для отвлечения внимания. Над лишними словами скрипт тоже может провести обфускацию:
слово 1 OR NOT ((слово 2 OR NOT (слово4 OR NOT слово2 OR слово5)) OR NOT слово1 OR (слово 3 OR NOT (слово6 OR NOT слово3 OR слово7)))
Результатом выполнения такого запроса по прежнему будет то же самое, что если в строке поиска написать единственное слово: слово1
Даже над одним словом можно придумать десяток преобразований, усложняющих его. Если в запросе есть хотя бы несколько слов и операторы AND или OR, то усложняющих эквивалентных преобразований можно придумать намного больше, они будут еще более изощренными.
Скрипт обфускации запроса работает просто:
- случайным образом выбирать из запроса жертву - это слово или пара слов, связанных AND или OR
- случайным образом выбирать запутывающее преобразование для выбранной жертвы
- повторять предыдущие пункты много раз, пока запрос не станет больше в несколько раз.
"Раздутый" запрос становится совершенно нечитаемым.
Обфускация незаменима во многих случаях.
Для гарантии сохранности запроса. Кадровое агентство может нанять одного сотрудника с IT-бекграундом. Он будет составлять под каждое резюме сложный поисковый запрос. Менеджеры по персоналу получают подготовленные запросы только после обфускации. Менеджеры смогут использовать составленные для них запросы, но не рискнут добавить в запрос ни слова. Это защитит запросы от некомпетентного изменения, которое может разом отбросить половину подходящих резюме.
Для увеличение доходности от платных запросов. В Интернет предлагают услуги по успешному поиску на hh.ru - составление резюме и т.д.. Такой же востребованной может быть услуга создания сверхдлинных запросов на поиск вакансий или резюме:
Запросы на поиск резюме востребованы кадровыми подразделениями, на поиск вакансий - соискателями. Подготовленный сверхдлинный запрос на поиск лучше обфусцировать. Тогда клиент не сможет его модифицировать. Это подтолкнет его к покупке пакета поисковых запросов, где один запрос обходится дешевле.
Для безопасной демонстрации мастерства в поиске. На форумах часто просят помощи в составлении запросе на поиск на hh.ru. В качестве рекламы услуг по составлению поисковых запросов можно опубликовать ссылку на страницу поиска, где уже введен нужный расширенный запрос после обфускации. Запрос поможет спрашивающему искать нужные ему резюме (или вакансии). Другие читатели форума могут проверить, что запрос действительно эффективен. Но они не поймут его структуру и не смогут переделать запрос для своих целей.
Для защиты от распространения. Один расширенный запрос на поиск можно обфусцировать множеством способов. Каждую копию запроса после обфускации легко привязать к получателю запроса. Если получатель обфусцированного запроса выложит его где-то в Интернет, то будет легко определить через кого произошла утечка.
Технология 8. GitHub
Я сохраняю каждую версию поискового запроса в GitHub, системе контроля версий:
- если во время редактирования запроса в него будет внесена грубая ошибка, то GitHub поможет мне вернуть старую проверенную версию где не было ошибок
- с помощью GitHub я могу подключить коллег к групповой работе над запросом
- GitHub сохраняет все предыдущие версии запроса. В случае ошибок в поисковом запросе можно будет определить человека, который сделал ошибочную правку
Эффективное использование GitHub немыслимо без программы Diff.
Технология 9. Diff
Diff это культовый вид программ среди разработчиков программ. Программы вида Diff уже более 50 лет на службе разработчиков.
https://ru.wikipedia.org/wiki/Diff
diff — вид программ для сравнения файлов. Программа данного вида сравнивает между собой два файла. Программа выводит построчно изменения, которые были сделаны во втором файле по сравнению с первым файлом.
Типичное применение программ вида Diff - сравнение двух файлов с разными версиями одной программы. Diff помогает понять, чем новая версия программы отличается от старой.
Мой вариант скрипта Diff написан на Python и специализируется на проверке разницы между двумя версиями поисковых запросов в hh.ru:
- как и обычные программы Diff он умеет находить разницу в текстах сравниваемых версий запроса
- дополнительно мой скрипт Diff умеет показывать разницу в результатах поиска.
Допустим, мы с коллегами 3 дня работали над очередной версией поискового запроса. Через Интернет каждый из нас время от времени добавлял свое изменение поискового запроса. Наконец, мы слили вместе все изменения и получили обновленную версию поискового запроса.
Перед тем как перейти на обновленную версию, ее нужно проверить. Мой скрипт Diff получит из GitHub старую версию поискового запроса трехдневной давности и проведет сравнение со свежей версией. Скрипт Diff:
- подготовит информацию для ручного тестирования. Покажет разницу в результатах поиска на hh.ru между старым запросом и новым:
- какие новые запросы появились в результатах поиска. Если после визуального просмотра среди новых запросов обнаружится много неподходящих, то это α-ошибка, ложноположительное заключение
- какие старые запросы исчезли. Если среди исчезнувших запросов я обнаружу много подходящих запросов, то это β-ошибка, ложноотрицательное заключение
- запустит скрипт мутационного анализа свежей версии поискового запроса. Неработающие слова и операторы выделит красным фоном, а измененные или добавленные слова и операторы - жирным шрифтом:
- если все проблемные слова и операторы находятся внутри измененных частей поискового запроса, то это доброкачественные ошибки. Они не выходят за пределы измененного текста поискового запроса. Доброкачественные ошибки обычно легко исправлять
- худший вариант, когда неработающие слова и операторы появляются повсюду, даже в старых кусках кода. Это уже злокачественные ошибки (метастазы), когда небольшие изменения поискового запроса ломают логику работы всего поискового запроса. Обычно они поддаются исправлению тяжелее всего.
В случае обнаружения серьезных ошибок в свежей версии, скрипт Diff составляет список версий в хронологическом порядке, начиная от последней стабильной версии. У каждой более свежой версии Diff указывает количество неработающих слов и операторов. Достаточно одного взгляда на список, чтобы найти версию запроса, начиная с которой в запросе появилось множество неработающих слов и операторов. Остается лишь с помощью Diff сравнить первую проблемную версию по сравнению с предыдущей безпроблемной. Где-то среди внесенных изменений есть ошибки. Diff также подскажет, кто внес ошибочные изменения. Остается лишь исправить ошибки.
Но иногда локализовать и исправить ошибку бывает затруднительно. Особенно после рефакторинга, когда меняются местами целые куски запроса, структура и логика запроса. Тогда я возвращаю поисковый запрос на последнюю версию, где еще не появились многочисленные проблемы. Дальнейшее совершенствование поискового запроса продолжается на ее базе.
(Во избежание подобных ситуаций сразу после рефакторинга с помощью утилиты diff делается сравнение с результатами поиска в предыдущей версии. Если рефаторинг проведен корректно, то не должно быть никаких изменений).
Технология 10. Версионирование
Работа над поисковым запросом увеличивает количество его версий. Ладно бы они шли друг за другом, так они еще и разрабатываются параллельно:
- стабильная версия запроса для рабочего использования. В ней только исправляют найденные ошибки, но не добавляют ничего нового. Отдельно разрабатывается перспективная версия запроса для экспериментов - в ней тестируют нововведения, после отладки она заменит стабильную версию запроса.
- на базе одного поискового запроса создаются параллельные ветки разработки:
- ветка запроса для поиска удаленщиков и ветка поиска сотрудников для работы в офисе
- ветка на русском и ветка на английском
- разные редакции (Edition) запроса, которые индивидуально проработывают различающиеся специальности кандидатов.
Система нумерации версий помогает держать зоопарк версий под контролем. Любая версия поискового запроса получает уникальное имя.
Википедия о нумерации версий поисковых запросов
Жизненный цикл успешного поискового запроса может быть очень долгим; изменения в запросе запросе бывают разными — от исправления ошибки до полного переписывания. В большинстве случаев название запроса остается тем же, изменяется подназвание — так называемая версия.
Версия программы может быть целым числом 11, последовательностью чисел 1.0.3, датой или текстом.
На сайте NamingSchemes.com (18+) собраны системы для текстового именования именования версий. Гурманы именования найдут 700 систем, начиная от названия цветов и заканчивая персонажами Шрека:
Для поисковых запросов резюме я предпочитаю использовать систему семантического версионирования semver.org. Она распространена среди разработчиков и интуитивно понятна:
Версия записывается как три номера разделенный точкой: МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ
Разработка начинается с версии: 0.0.1
При изменении текущей версии следует увеличивать:
- мажорную версию, когда сделаны обратно несовместимые изменения
- минорную версию, когда добавлена новая функциональность, не нарушая обратной совместимости
- патч-версию (заплатк, мелкая правка), когда сделаны обратно совместимые исправления ошибок.
Увеличение какого-то номера версии обнуляет номера, расположенные правее.
Для предрелизных выпусков можно добавлять пометку наподобие RC1 (release candidate 1) в конец названия версии.
Подходящая система нумерации версий позволяет пользователям легко понять, стоит ли переходить на новую версию или пока продолжить пользоваться старым запросом. Например, есть IT-примета, что свежая мажорная версия может содержать ошибки. И перед переходом на новую мажорную версию нужно подождать пока выйдет хотя бы первое (лучше второе) минорное обновление.
Упрощенные технологии
Кадровые подразделения далеки от разработки программ, для них эти технологии могут показаться излишне сложными. Я подобрал им упрощенные варианты на замену.
а) Geany - бесплатный редактор для программистов. Существует для Windows, macOS и Linux.
Geany можно использовать для редактирования многострочных поисковых запросов. Он подсвечивает текст в файле zapros-resume.py примерно так:
- показывает сразу много строк
- выделяет красным цветом комментарии (текст начиная со знака # и до конца строки).
- выделяет желтым цветом конструкции в кавычках
- если поставить курсор вовнутрь запроса, то редактор выделит синим цветом окружающие круглые скобки.
Как и любой редактор для программистов, Geany поддерживает регулярные выражения.
Википедия: Регуля́рные выраже́ния (англ. regular expressions) — формальный язык, используемый в компьютерных программах, работающих с текстом, для поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов.
Самый простой пример метасимвола это знак звездочки. На месте звездочки может быть любое количество любых символов, в том числе не быть никакого символа.
Geany поддерживает макросы через Tools -> Record Macro или Edit Macro.
Макрос это упрощенный вариант скрипта Python. Вы добавляете в редактор нужный текст. Затем включаете запись макроса, в редакторе делаете привычную последовательность действий. В конце останавливаете запись макроса, даете ему имя. В будущем вы можете вставить в редактор другой текст и вызвать ранее записанный макрос. Он выполнит над текстом в окне редактирования ваше ранее записанное действие.
В макросах Geany в отличие от Python-скриптов:
- не нужно изучать никакого языка программирования. Вы просто показываете редактору как вы делаете нужную последовательность действий над текстом
- редактор сохраняет в макросе последовательность ваших действий в виде текстовых строк:
- при желании вы можете их отредактировать
- также сможете разрабатывать макросы отдельными небольшими кусочками. А затем слить несколько макросов в один
- обмениваться файлами с макросами.
Через вызов подходящего макроса вы можете:
- преобразовать многострочный запрос с комментариями в однострочный без комментариев и без сдвоенных пробелом
- проверить однострочный запрос на синтаксические ошибки:
- соответствие числа круглых скобок
- правильную вложенность круглых скобок
- чтобы операторы AND и OR не стояли рядом
- чтобы оператор NOT не повторялся подряд дважды
- ...
- - провести обфускацию. Выделяете какое-нибудь слово или оператор (AND OR или NOT) и вызываете подходящий макрос для обфускации выделенной части. Повторяете это 5-10 раз в разных местах сверхдлинного запроса.
б) DoubleCommander это двухпанельный файловый менеджер, существует для Windows, Mac, Linux. Если в двух панелях выделить по одному файлу с разными версиями запросов, то DoubleCommander может сравнить их и указать все места, где запросы отличаются друг от друга.
Есть также отдельные программы для сравнения версий. Для Windows это бесплатная WinMerge. Эта программа также умеет выполнять слияние разных версий.
Бесплатная программа Meld существует для Windows, Mac, Linux. Программа тоже умеет как сравнивать, так и выполнять слияние разных версий.
в) Google Docs это онлайн-сервис, которым можно попробовать заменить редактор для программистов, GitHub и diff.
Он поддерживает групповую работу:
- над документом могут одновременно работать несколько человек
- каждый редактор может редактировать текст, удалять ненужные куски, оставлять комментарии для выделенных кусков текста
- можно задать список коллег, которые будут иметь доступ к документу
- после завершения разработки запроса можно сделать его доступным только для чтения.
Google Docs довольно неплохо работает с версиями:
- умеет сохранять разные версии
- разрешает давать версиям имена
- подсвечивает изменения по сравнению с текущей версией и кто их внес
- позволяет перескакивать между изменениями
- может вернуть старую версию и сделать ее последней.
г) Wiki база знаний. Некоторые популярные варианты:
- Zoho Wiki (бесплатно до 3 человек)
- Atlassian Confluence (бесплатно до 10 человек)
- DokuWiki - простая бесплатная онлайн вики-система для неограниченного количества участников. (Вам понадобится специалист, который установит ее на сайт компании).
Как и Google Docs, Wiki база знаний это упрощенная замена программистского редактора, GitHub и diff. В дополнение к возможностям Google Docs, Wiki база знаний позволяет вести полноценную закрытую базу знаний для кадрового подразделения:
- сверхдлинные запросы по типовым вакансиям
- чек-листы для проведения отборочных интервью
- статьи для ввода в курс дела новых менеджеров по персоналу
- показывать/скрывать статьи в зависимости от роли сотрудника.
д) Ручной мутационный анализ можно выполнить без Python скрипта. Нужно сравнивать не изменение списка результатов поиска после мутации, а обращать внимание на количество резюме в результатах поиска по запросу:
Если после очередной мутации количество резюме почти не изменилось, то мутированное слово/оператор возможно не так и нужен.
Отслеживание изменения количества резюме не так точно, как сравнивать через Python скрипт изменения в списках. Но зато сильно экономится время при ручном анализе мутаций. При известной сноровке удается вручную анализировать до 3-5 слов и операторов в минуту.
Для еще большей экономии времени можно:
- анализировать на мутации только измененные куски сверхдлинного запроса
- проводить ручное мутационное тестирование только для новых минорных версий или только после рефакторинга
- делегировать ручной мутационный анализ менее квалифицированному коллеге.
Баланс двух родов ошибок
Сверхдлинный запрос на языке запросов сокращает количество резюме в поиске в десятки раз. Хороший запрос бережно сохраняет почти все подходящие резюме и без жалости отбрасывает почти все не подходящие резюме.
Когда новички осваивают мощь сверхдлинных запросов, они часто совершают одну ошибку. Они склонны совершенствовать сверхдлинный поисковый запрос до такой степени, что в нем почти не остается ошибочных результатов (α-ошибка, ложноположительное заключение составляет считанные единицы процентов). Достигается это за счет того, что отбрасываются слишком много подходящих запросов (β-ошибка, ложноотрицательное заключение составляет десятки процентов).
Во время совершенствования запроса нужно постоянно выдерживать баланс между двумя родами ошибок. Запрос считается хорошо составленным, когда:
- в выданных результатах всего до 10% результатов не подходит под требования (α-ошибка, ложноположительное заключение ≤ 10%)
- всего до 10% подходящих результатов отброшены (β-ошибка, ложноотрицательное заключение ≤ 10%).
Если хотя бы одна из ошибок запроса превышает это значение, то запрос продолжают совершенствовать дальше.
Подсчет баланса ошибок
Процент пропущенных плохих резюме (α-ошибка, ложноположительное заключение) примерно понятен из результатов поиска. Затруднение может вызвать определение процента подходящих отброшенных запросов (β-ошибка, ложноотрицательное заключение).
Один из способов подсчета баланса ошибок двух родов выглядит так.
В настройках расширенного поиска указываете свой регион, ограничиваете список резюме последним днем. Далее делаете два попытки.
Попытка 1. Сначала вводите в поиск ваш сверхдлинный запрос, который вы хотите проверить. Например, по поиску системных аналитиков. Просматриваете результаты поиска за последний день. Подсчитываете два параметра:
- ИнтересноУвидено = количество интересных резюме
- НеинтересноУвидено = количество неинтересных резюме.
Попытка 2. Второй попыткой делаете “анти” длинный запрос:
системный аналитик AND NOT (<ваш сверхдлинный запрос на поиск системного аналитика>)
Фраза системный аналитик включит искусственный интеллект поиска hh.ru, а связка AND NOT исключит из результатов все запросы, которые вы уже видели во время первой попытки. Просматриваете результаты за последний день. Подсчитываете один параметр:
- ИнтересноОтброшено = количество интересных резюме, которые почему-то были отброшены сверхдлинным запросом в первой попытке поиска.
Остается подсчитать проценты ошибок.
α-ошибка, ложноположительное заключение, считается по формуле:
α-ошибка = (НеинтересноУвидено / (ИнтересноУвидено + НеинтересноУвидено)) * 100%
β-ошибка, ложноотрицательное заключение, считается по формуле:
β-ошибка = (ИнтересноОтброшено - (ИнтересноУвидено + ИнтересноОтброшено)) * 100%
Сокращенный подсчет β-ошибки
Хороший сверхдлинный поисковый запрос сократит результаты в десятки раз. Все сокращенные тысячи ненужных резюме выплывут во второй попытке, когда вы дадите волю искусственному интеллекту hh.ru.
Чтобы во второй попытке не просматривать десятки страниц с результатами, вы можете искать хорошие отброшенные резюме только, например, на каждой пятой странице результатов поиска. Это уменьшит количество времени на вычисление β-ошибки в 5 раз. Когда подсчитаете суммарное количество хороших отброшенных вакансий, умножьте его на 5. Так вы получите значение ИнтересноОтброшено для всех страниц результатов во время 2-ой попытки поиска.
В зависимости от количества страниц выдачи во второй попытки вы можете просматривать не каждую 5-ую страницу, а например, каждую 10-ую или каждую 20-ую.
Советы для руководителей кадровых подразделений
1. Обучение HR сотрудников. Если менеджеры по персоналу не знают языка запросов резюме, они подсознательно избегают проводить активный поиск IT-кандидатов на hh.ru. Их страшит выискивание подходящих резюме среди завалов резюме в поиске от искусственного интеллекта hh.ru. Обучайте ваших менеджеров:
- языку поиска резюме и разработке длинных поисковых запросов. Хотя бы в азах. Это позволит вашим менеджерам практиковать активный поиск IT-кандидатов в базе резюме hh.ru
- упрощенным вариантам информационных технологий для формирования сверхдлинного запроса.
2. Продвинутый HR. При найме очередного менеджера по персоналу оговорите в вакансии обладание университетским дипломом, где в приложении упомянут курс математической логики. (Поисковые запросы это самые начала математической логики). Менеджер со знанием математической логики сможет без труда составлять довольно сложные поисковые запросы для себя и для своих коллег.
Будет дополнительным плюсом, если в приложении к диплому еще будет указан курс статистики. Различение статистических ошибок двух родов (α-ошибка и β-ошибка) и необходимость их баланса это самые начала статистики.
3. Разработчик-HR. Если кадровое подразделение довольно большое, то стоит подумать о включении в него HR со знаниев основ IT-разработки. Такой специалист сможет создать в кадровом подразделении инфраструктуру для разработки сверхдлинных поисковых запросов.
Для разработчиков из IT-подразделения эта работа слишком проста. К тому же маловероятно, что они захотят вникать в тонкости работы менеджеров по персоналу.
Но для составления сверхдлинных запросов не требуется большой квалификации разработчика не требуется. Вы можете получить собственного IT-разработчика в кадровое подразделение несколькими способами:
- опросить менеджеров по персоналу. Может быть кто-то из них готов изучить Python
- разместить вакансию “Менеджер по персоналу”. В вакансии указать владение Python или готовность изучить его
- узнать в IT-подразделении, не нужен ли им в перспективе джун на Python (или другом языке программирования). Оговорить в вакансии джуна, что сотрудник первый год проведет в кадровом подразделении на зарплате менеджера по персоналу. Но гарантировать переход со второго года на должность и зарплату джуна. Для выпускников курсов по программированию это хороший вариант “войти в IT”. А IT-подразделение получит джуна-разработчика с опытом поиска и найма разработчиков.
5. CRM для HR
CRM безусловно является сердцем эффективного найма в IT.
Википедия: CRM или CRM-система (сокращение от англ. Customer Relationship Management) - класс программ, которые занимаются управлением взаимоотношениями с клиентами.
Использование CRM для найма обусловлено тем, что:
- соискатель это центр всей философии найма в IT
- нужно относиться к каждому соискателю как к IT-таланту (пока не доказано обратного). Надо постараться беречь его время и как можно быстрее довести до подписания офера, если он действительно IT-талант
- главными направлениями деятельности отдела кадров поиск IT-талантов, их информационное обслуживание и организация встреч.
Основные преимущества
Назову три основных преимущества использования CRM для найма.
1. Уменьшение затрат на найм персонала в несколько раз. CRM автоматизирует процесс найма и берет на себя всю рутину. CRM увеличивает отдачу от затрат на каналы привлечения соискателей.
2. Профессионализм. CRM радикально ускоряет найм. IT-соискатель может получить ответную реакцию менеджера в течение нескольких минут после своего обращения через любой канал связи. С CRM можно даже провести весь процесс найма за 1 день. Отлаженный процесс найма расценивается сильными IT-соискателями как высокий профессионализм и мотивирует их наниматься именно в вашу компанию.
3. Повышение удовлетворенности менеджеров по персоналу. CRM хранит всю необходимую информацию и планирует действия по воронке найма для каждого соискателя. Менеджеры избавляются от необходимости помнить о предстоящих делах. Они могут одинаково эффективно работать как в офисе так и дома. В случае необходимости пропустить несколько дней работы менеджер легко может найти себе замену. Исчезает стресс и выгорание. Уменьшается текучесть кадров в отделе по работе с персоналом.
Технические возможности
Наша компания занимаемся разработкой и внедрением Bitrix CRM. Поэтому я буду описывать технические возможности Bitrix CRM. Но эта CRM взята только для примера. Вы можете использовать для работы с соискателями CRM, которая есть в вашей организации. Бизнес-процессы найма относительно простые. Скорее всего ваша CRM сможет предоставить большинство из 6-ти нижеперечисленных возможностей.
1. Омниканальность
Омниканальность — маркетинговый термин, обозначающий взаимную интеграцию разрозненных каналов коммуникации в единую систему, с целью обеспечения непрерывной коммуникации с клиентом.
Соискатель может обратиться к менеджеру по персоналу через множество каналов связи:
- запрос на вакансию на hh.ru
- нажатие кнопки “Я хочу работать в этой компании” на hh.ru
- через форму контактов на сайте
- по Email
- через телефон компании
- через социальные сети
- через мессенджеры
- …
Соискатель может менять каналы связи во время переговоров с менеджером по персоналу.
Независимо от того, какими каналами пользовался соискатель, менеджер может с помощью CRM отвечать через тот канал, который предпочитает соискатель. Также CRM хранит историю любых контактов с соискателем в его карточке в CRM. В том числе контакты, которые проводили разные менеджеры.
2. Аналитика. CRM отслеживает откуда пришел каждый соискатель. Это позволяет вычислить стоимость выхода на работу у каждого маркетингового канала (hh.ru, сайт, Яндекс.Директ, мессенджеры, корпоративная почта, входящие звонки,...).
3. Проактивность. Без CRM менеджеры по персоналу обречены лишь отвечать на входящие обращения со стороны соискателя. Если соискатель пропустит свою очередь ответить, то он будет потерян для найма.
Если в кадровом подразделении есть CRM, то соискателю достаточно сделать единственный запрос через любой канал связи. Дальше CRM проведет его по всей воронке найма. Если соискатель пропустит свой очередной ответ, то CRM восстановит с ним связь, посылая по очереди 2-3 сообщения через доступные каналы связи (чат hh.ru, мессенджеры, социальные сети, E-mail, SMS,...). Если не удастся восстановить активность соискателя через автоматические сообщения, то CRM организует дозвон через менеджера по персоналу.
4. Групповая работа. CRM предусматривает групповую работу над заполнением вакансии:
- в случае болезни/отпуска/увольнения менеджер по персоналу можно легко передать коллегам все резюме, над которыми он работал
- в многоэтапном найме над резюме соискателя поочередно работают несколько менеджеров по персоналу, технические специалисты, руководство
- на время массового найма в новый филиал менеджеры по персоналу могут работать с кандидатами посменно и передавать наработки от смены к смене.
5. IP-телефония. Подключение CRM к IP-телефонии открывает много интересных возможностей:
- единый многоканальный номер для работы с соискателями (возможен также федеральный номер 8-800)
- если звонящий раньше уже контактировал с отделом кадров любым способом, его входящий звонок переадресовывается на менеджера, который работает с соискателем. Во время звонка CRM показывает менеджеру карточку его соискателя
- при необходимости можно каждому рекламному каналу назначить свой отдельный телефонный номер с переадресацией на менеджера по персоналу. Это позволит отслеживать и сравнивать эффективности каналов
- при просмотре карточки соискателя менеджер может позвонить ему одной кнопкой через CRM
- переадресация звонков в нерабочее время на голосовую почту. Занесение пропущенных звонков в список дел
- запись разговоров для последующего контроля. К записи может быть приложена текстовая авто-расшифровка.
6. Мобильное приложение. Менеджеры по персоналу могут работать с CRM и звонками как с ноутбука, так и со своих смартфонов. Мобильное приложение поддерживает большинство функций CRM, доступных через ноутбук. Поддерживаются входящие и исходящие звонки через CRM.
Саботаж
Не секрет, что большинство проектов внедрения CRM в кадровые подразделения заканчиваются неудачей. Одна из главных причин неудач, что концентрируются на технических моментах внедрения и забывают настраивать менеджеров по персоналу на работу с CRM. В ответ менеджеры саботируют внедрение CRM. Они считают, что:
- все разговоры начальства о повышении производительности с CRM в несколько раз означают, что придется закрывать в несколько раз больше вакансий
- CRM нужна чтобы помочь начальству выявлять тех, кто не сможет работать в несколько раз больше.
Вариантов CRM-саботажа придумано много. Менеджеры по персоналу при работе с CRM:
- игнорируют заполнения полей CRM
- создают “холостые” карточки соискателей и звонки в CRM
- имитируют бурную деятельность в CRM.
Саботаж использования CRM может принимать самые непредсказуемые формы:
В CRM есть опция показывать во время звонка карточку соискателя. Считается, что это позволяет менеджеру по персоналу заранее психологически настроиться на общение с конкретным соискателем. На тренингах даже учат менеджеров перед звонком успеть сделать глубокий вдох и выдох, улыбнуться и представить собеседника.
При саботаже:
- хорошая опция используется по другому. Менеджер действительно глядит на карточку. Но если он вспоминает, что пропустил сроки своего звонка, то он не берет трубку чтобы избежать извинений. Заодно игнорируются звонки соискателей, общение с кем не понравилось менеджеру
- приходится отключать эту полезную опцию. Менеджер услышат звонок, но карточку клиента увидит только после поднятия трубки.
Настройка персонала на работу с CRM это такая же важная часть внедрения CRM, как и технические настройки
- внедрение CRM без учета саботажа занимает от 2-4 недель, после передачи CRM персоналу начинается саботаж. В итоге никто CRM не пользуется
- если во время внедрения принимаются мер против саботажа, то внедрение удлиняется и занимает от 2-х месяцев. Но зато менеджеры активно пользуются CRM даже после ухода специалистов по настройке и внедрение можно считать успешным.
Менеджерам по персоналу не роботы которые мгновенно включаются кнопкой. Им нужно время, чтобы настроиться на переход на CRM. Основная стратегия борьбы с саботажем - как можно более раннее подключение менеджеров в процесс по внедрению CRM.
1. Ознакомительная встреча
Еще до старта настройки CRM проводится встреча, где знакомят персонал с возможностями CRM.
На встрече объясняют, что CRM это в первую очередь удобный инструмент для найма, а не система контроля персонала. Расписывают преимущества CRM для менеджера по персоналу. Проводят небольшой тур по панели управления CRM. По возможности приглашают на встречу (можно удаленно) менеджера по персоналу из другой компании, где уже пользуются CRM. Приглашенный расскажет о своем опыте использования CRM и ответит на вопросы сотрудников кадрового подразделения.
2. Рабочая группа
Создается рабочая группа. Кроме руководителя кадрового подразделения в нее обязательно включается хотя бы 2-3 менеджера по персоналу из числа добровольцев. Рабочая группа будет сообщать CRM специалистам нужды подразделения.
Менеджеры-добровольцы заодно становятся фигурами влияния. Во время настройки CRM они будут просвещать коллег, как же здорово будет когда настроят CRM. Они же будут первыми, кто перейдет на работу с CRM когда настройки будут закончены.
Весь процесс внедрения CRM специалисты должны советоваться с рабочей группой. Специалисты по настройке CRM поручают рабочей группе разработать воронку найма, тот или иной бизнес-процесс. Если участники группы принимают активное участие в разработке и настройке CRM, тогда после внедрения они легко начнут его использовать.
1-2 раза в неделю CRM-специалисты проводят планерки с рабочей группой, обсуждают внедрение CRM.
На этапе настройки CRM нужно поддерживать дополнительными премиями участников рабочей группы.
3. Передача в эксплуатацию
После окончания настроек CRM начинается самая сложная фаза внедрения - передача CRM в кадровое подразделения для использования. Она занимает около 2 месяцев.
а) Обучение. Передается база обучающих статей и роликов (скринкастов). В видео подробно показываются все основные операции с CRM. Проводится обучение персонала.
Первую неделю эксплуатации специалисты по настройке отвечают в чате на вопросы менеджеров по персоналу. Далее техническая поддержка оказывается через рабочую группу.
б) Техническая поддержка. Планерки с рабочей группой продолжаются, хотя и не так часто.
Из рабочей группы подбирается самый активный участник, который будет отвечать в кадровом подразделении за внедрение. Это не обязательно руководитель. Ответственный сотрудник собирает вопросы от менеджеров по персоналу и передает их CRM-специалистам в любое время между планерками. Он держит CRM-специалистов в курсе, как идет освоение CRM, какие бизнес-процессы протекают через CRM, какие нет. Тестируются новые функции. Бывают проблемы нетехнического характера, они обычно связанны с саботажем.
в) Мотивация персонала. Первыми быстро осваивают CRM участники рабочей группы, которые участвовали в ее разработке. Они служат образцом для своих коллег. Если кто-то из участников рабочей группы помогает коллегам освоиться с CRM, он дополнительно премируется за наставничество.
После внедрения следует предусмотреть отдельные премии для менеджеров по персоналу, кто дисциплинированно пользуется CRM. А тех, кто игнорирует CRM, могут остаться без обычных премий.
Хорошо работает превращение освоение CRM в игру. Можно выдавать менеджерам игровые баллы за каждую освоенную функцию в CRM. Если менеджер за месяц набирает определенное количества баллов, то они удваиваются. Это стимулирует интенсивнее набирать баллы. В конце месяца менеджер может потратить накопленные баллы на получение подарков из списка подарков.
г) Контроль. После передачи настроенной CRM в использование нужно предусмотреть многочисленные точки контроля:
- проверка заполнения обязательных полей
- выборочное прослушивание звонков
- выборочный контроль историй найма сотрудников от первого контакта до выхода на работу
- изучение отчетов, которые предоставляет CRM - KPI каждого менеджера по персоналу, характеристики воронки продаж.
Если последовательно придерживаться этих действий, то случаев саботажа у менеджеров по персоналу обычно не бывает.
Кадровые перестановки
После первых 1-2 месяцев после начала эксплуатации становится ясно, кто из менеджеров освоил CRM, а у кого проблемы с ее использованием.
Производится разделение кадрового подразделения.
Менеджеров, которые не освоили CRM, пристраивают в другие подразделения компании, где не требуется знания CRM. Их зарплата сохраняется, меняются только обязанности.
У тех, кто освоил CRM, снимается премирование, которое было на время настроек и передачи CRM в эксплуатацию. Повышается зарплата на 30-50% в зависимости от освоенности CRM. Их производительность повышается еще больше. Они в состоянии выполнить и свою работу и работу ушедших коллег. Если среди освоивших CRM менеджеров по персоналу:
- наблюдается избыток (чаще всего), то лишним менеджерам со знанием CRM подыскивают работу. В первую очередь в подразделениях компании, где требуется знание CRM
- наблюдается недостаток (это редко, но случается если не принимались меру против саботажа и большинство менеджеров игнорирует CRM), тогда нанимают новых менеджеров по персоналу. Новички осваивают CRM без всяких проблем, когда это условие получение должности.
Менеджеры по персоналу извещаются о грядущих кадровых и зарплатных изменений заранее - еще на самой первой ознакомительной встрече по CRM. Ясная кадровая и зарплатная политика:
- стимулирует менеджеров участвовать в рабочей группе или хотя бы хорошо изучить CRM после передачи в использование
- снимает с менеджеров депрессию, что их уволят в случае неспособности освоить CRM
- сокращает срок разделения кадрового подразделения. Менеджеры, у которых не получается изучить CRM, не тянут время до конца 2-х месяцев. Они заявляют о своем желании перейти в другое подразделение уже через несколько недель после начала использования CRM.
На кадровых перестановках внедрение CRM в кадровое подразделение заканчивается. К этому моменту:
- с наймом справляется уменьшившееся количество менеджеров по персоналу
- они все охотно работают через CRM
- зарплаты у оставшихся менеджеров повышаются.
- излишки менеджеров пристроены в другие подразделения компании.
6. Интеграция
Наша компания имеет 1С-Битрикс компетенцию «Крупные корпоративные внедрения» расширенного уровня. Интеграция (объединение) всевозможных онлайн-сервисов в единое целое - этим мы занимаемся каждый день. Я не удержусь и расскажу как интеграция онлайн-сервисов делает работу с соискателями на вакансии по-настоящему гладкой.
Большинство современных онлайн-сервисов состоят из двух частей:
- вся информация пользователя хранится в базе данных сервиса
- программа-оболочка позволяет пользователю управлять базой данных онлайн-сервиса:
Оболочкой может быть сайт, настольная программа, мобильное приложение. Независимо от выбора оболочки, она не хранит данные, а лишь обеспечивает удобный доступ к базе данных онлайн-сервиса. Пользователь может легко переключаться между оболочками и выбирать, с какой ему удобнее работать в текущий момент.
Работа через оболочки
Плюсы работы с онлайн-сервисом через программу-оболочку на виду. Менеджеру по персоналу достаточно научиться пользоваться сайтом или мессенджером, а технические детали управления базой данных сервиса возьмет на себя оболочка сервиса (сайт или мессенджер).
Но попытка использовать для найма несколько сервисов резко усложняет работу:
Сайты и мессенджеры не рассчитаны ни на совместную работу, ни на развитие функций:
- приходится отдельно изучать интерфейс и управление каждого сервиса или мессенджера
- нужно постоянно переносить вручную данные между базами данных онлайн-сервисов
- количество функций в каждом сервисе ограничено. Если вам нужны какие-то новые функции, то разработчики сервиса не будут их добавлять ради вас.
Заказная программа
Для кадрового подразделения выходом из положения может быть заказ программы интеграции. Программа будет напрямую обращаться к базе данных онлайн-сервиса:
3. Интеграция для одного пользователя
Наша работа как интегратора состоит в том, чтобы:
- оставить только единственную оболочку, обычно это CRM
- избавить клиента от оболочек маловажных онлайн-сервисов с помощью заказной программы. Которую мы должны разработать. При этом сохранить доступ к базам данных этих онлайн-сервисов.
Заказная программа интегрирует (объединяет) доступ ко всем базам данных всех онлайн-сервисов, с которыми работает менеджер по персоналу. После разработки заказной программы интеграции менеджер по персоналу получает доступ к любому онлайн-сервису через единственный сайт CRM (или мобильное приложение для CRM):
Заказная программа “подтягивает” в базу данных CRM всю переписку из второстепенных онлайн-сервисов. Менеджер по персоналу может отправить сообщение из CRM в любой подключенный онлайн-сервис.
Плюсов от заказа интеграционной программы множество:
- CRM становится сердцем всего процесса найма
- менеджеру по персоналу достаточно изучать CRM и нет нужды изучать особенности сайтов/мессенджеров других онлайн-сервисов
- соискатель может начать общение с одного канала связи, а затем перейти на другой канал связи. Менеджер без затруднений будет отвечать на любой доступный канал связи. Переписка с соискателем через все подключенные сервисы сохраняется в карточке соискателя в CRM в обратно-хронологическом порядке.
- автоматизация бизнес-процессов в CRM может использовать подключенные онлайн-сервисы в качестве источников входящих и исходящих сообщений
- аналитика CRM может легко учитывать эффективность подключенных онлайн-сервисов
- со временем к заказной программе интеграции будет подключать новые и новые сервисы.
Интеграция для кадрового подразделения
Но по-настоящему заказная программа интеграции заиграет, когда наймом занимаются несколько рекрутеров и менеджеров по персоналу:
Заказная интеграционная программа рождает целый звездопад дополнительных плюсов, связанных с групповой работой над вакансией:
- достаточно обучать всех HR единственной программе - CRM
- сотрудники кадрового подразделения могут совместно работать над одной вакансией, передавать соискателя друг другу по этапам найма
- процесс найма не привязывается к менеджеру. В любой момент менеджер может передавать другому менеджеру часть своих соискателей или их всех. В карточке соискателя отражается вся его история с любыми менеджерами и по любым каналам связи
- можно легко добавлять в число пользователей CRM новых участников. В том числе представителей подразделений, для которых ищут сотрудников
- вся переписка пользователей CRM с соискателями ведется от корпоративных аккаунтов кадрового подразделения:
- корпоративный E-mail наподобие hr@example.ru
- телефон 8-800 кадрового подразделения
- аккаунты кадрового подразделения на hh.ru, vk.com, telegram,...
У менеджеров нет доступа к паролям этих аккаунтов (этот доступ есть только у заказной программы интеграции). Блокировка менеджера в CRM заодно блокирует его доступ к другим подключенным онлайн-сервисам. Соискатель получает сообщения только от корпоративных аккаунтов кадрового подразделения и отправляет свои сообщения на эти же корпоративные аккаунты.
После интеграции всех сервисов с помощью заказной программы, CRM становится по-настоящему сердцем всего процесса найма.
Автоматизация через заказную программу
Заказная программа не только интегрирует все базы данных в базу данных CRM. Она может автоматизировать важные операция в найме. Несколько примеров.
1. Автопоиск резюме. Заказная программа помогает искать подходящие резюме на hh.ru. Для этого менеджеру по персоналу достаточно один раз сформировать запрос на поиск резюме, подходящих для вакансии. Запрос может быть самым простым, например, системный аналитик. Далее заказная программа будет каждые 5 минут запрашивать на hh.ru новые резюме, которые были добавлены за последние 5 минут. Заказная программа преобразует новые резюме в формат карточек кандидатов и добавит в CRM. Менеджеру остается лишь периодически просматривать новые резюме и нажимать кнопку “Отправить запрос” для подходящих кандидатов. CRM отправит каждому кандидату предложение рассмотреть вакансию через один из доступных каналов связи (через чат hh.ru, Email или SMS соискателей).
Заказная программа через CRM внимательно отслеживает, какие резюме нравятся менеджеру, а какие нет. Когда менеджер отправит несколько десятков запросов, обученные заказная программа начнет сама фильтровать горы резюме, которые приходят по запросу системный аналитик. Она показывает подходящие резюме в первую очередь.
Обратите внимание, менеджеру не нужно учить никакого расширенного языка запросов. Процесс обучения программы CRM аналогичен тому, как мы учим почтовую программу, какие сообщения мы считаем спамом, а какие нам нужны:
- если мы считаем какое-то письмо ненужным и больше не хотим получать подобные письма, то отмечаем его кнопкой “Это спам”
- если мы отвечаем на какое-то письмо, то в будущем подобные письма будут проходить к нам без затруднений.
Когда заказная программа научится хорошо находить нужные резюме на hh.ru под нужную вакансию, менеджер включает у этой вакансии кнопку “Автопилот”. Обученная заказная программа будет через hh.ru отслеживать резюме, подходящие под требования вакансии и сама рассылать соискателям предложения о работе.
2. Автоматизация маркетинга. Заказная программа может через CRM поддерживать интерес соискателей к вакансии через рассылку персонализированных сообщений.
Например, если соискатель перестал отвечать, то заказная программа через CRM напомнит ему, что ожидается ответ. Напоминания можно посылать через разные каналы связи. Если соискатель продолжает молчать, то заказная программа может еженедельно посылать ему информацию - насколько далеко продвинулся найм на данную вакансию у других кандидатов. Сервис “Статистика по вакансии” от сайта hh.ru предоставляет соискателям подобную информацию в сокращенном варианте за 199 р. за неделю:
Источник: hhcdn.ru
По своей вакансии работодатель может бесплатно предоставлять гораздо более полную информацию, включая информацию которой нет у hh.ru (количество проведенных встреч, близость вакансии к заполнению,...). Это может побудить задумавшихся соискателей вернуться и продолжить процесс найма. После закрытия вакансии заказная программа может поблагодарить всех кандидатов и известить их закрытии вакансии. Внизу каждого извещения есть ссылка, по которой кандидат в один клик может отписаться от получения извещений.
3. Страница с вакансиями на сайте. Заказная программа может каждые 5 минут:
- собирать с hh.ru вакансии компании:
- публиковать найденные вакансии на сайте компании в странице “Карьера”
- если обнаружатся новые вакансии, опубликовать их в качестве новости в социальных сетях и каналах компании в мессенджерах.
7. Кейс: Найм IT-таланта за один день
Кадровое подразделение одной компании обратилось к нам за помощью в автоматизации процесса найма. Основным источником резюме было hh.ru, через которое кадровое подразделение получало около 60% всех резюме.
Приоритет быстроты
Когда IT-талант пассивно публикует свою вакансию на hh.ru, из борьбы за него сразу исключаются менеджеры по персоналу, предпочитающий пассивный поиск кандидатов на hh.ru и многоэтапные процессы отбора.
Остаются игроки, которые активно работают с кандидатом:
- сеть знакомых IT-таланта и чаты/каналы IT-специалистов быстро распространяют информацию о хорошем кандидате
- заинтересованные IT-руководители ищут кандидатов через поиск на hh.ru. Нанимают быстро и упрощенно без HR.
Получение IT-талантом офера это вопрос 2-3 дней. В статье “Как быстро собрать ИТ-команду, если надо прямо уже-уже” автор дает советы IT-нанимателям:
“Очень важно быстро реагировать на резюме и приглашать на собеседования безотлагательно. По опыту хороший специалист, вышедший на рынок вакансий, за два дня набирает себе собеседований на две недели вперёд. При этом совсем не факт, что он пойдет на все собеседования. Обычно хорошие специалисты быстро понимают, что они очень нужны рынку, находят одну-две-три подходящие компании и думают: «Зачем время тратить на другие собеседования?»
Поэтому набор на позицию должен быть не дольше двух-трёх дней. Нашли подходящее резюме — сразу приглашайте на техническое собеседование.“
Заказчик согласился, что нашей приоритетной задачей должна стать организация быстрого найма IT-таланта. С этой целью мы:
- отказались от традиционного многоэтапного найма
- перестроили всю работу с IT-соискателями в расчете на быстрый найм.
Интеграция CRM
Мы внедрили CRM и интегрировали в нее hh.ru и популярные мессенджеры. Весь процесс интеграции достаточно подробно описан в вышестоящем разделе “CRM для HR”.
Пассивная публикация вакансии
Мы обучили менеджеров по персоналу создавать текст вакансии в 5 шагов.
Шаг 1. Черновик вакансии. Менеджер обсуждает с заказчиком вакансии зарплатную вилку, условия и бонусы. Подготавливается черновик вакансии.
Шаг 2. Исследование вакансий конкурентов. Добавили функцию поиска вакансий конкурентов в заказную программу. Менеджеру достаточно указать название должности. Заказная программа отправляет на hh.ru название должности. А в настройках расширенного поиска она повторяет настройки, которыми IT-таланты ищут вакансии:
- регион - Россия
- указать в поле “Уровень дохода” цену минимальную зарплату (19 т.р.)
- поставить галочку “Показывать только вакансии с указанным уровнем дохода”
- в разделе “График работы” отметить только пункт “Удаленная работа”
Вакансии, которые выдаются в результатах по такому поиску, первыми соберут внимание IT-талантов. Пример, образцы привлекательных вакансий по запросу системный аналитик.
Далее заказная программа составляет список вакансий с точной зарплатной вилкой, разброс которой не превышает 30-50%. Менеджер читает короткие описания у вакансий в списке и галочками отмечает вакансии, похожие на вакансию заказчика.
Заказная программа формирует страницу с информацией по отобранным вакансиями конкурентов:
- в левой части страницы находится список отмеченных вакансий. Для каждой вакансии подсчитана середина зарплатной вилки. Вакансии отсортированы по убыванию зарплатной вилки. По щелчку на вакансии справа появляется подробное описание вакансии
- в списке есть два разрыва:
- один разрыв со строчкой “середина нашей вилки”. Вакансии конкурентов выше этой строчки имеют середину вилки выше середины вилки вакансии от менеджера по персоналу. Вакансии конкурентов ниже строчки с разрывом имеют зарплату ниже вакансии от менеджера по персоналу. В строчке “середина нашей вилки” также указано, какой процент вакансий конкурентов находится ниже этой строчки
- другой разрыв со строчкой “середина (медиана) рыночной зарплаты. Половина вакансий имеют середину вилки выше этой строчки, вторая половина - ниже.
Одного взгляда на список достаточно, чтобы увидеть, находится ли середина вилки вакансии в рынке или ниже середины (медианы) предложений конкурентов.
Шаг 3. Подготовка предложений. Далее менеджер по персоналу составляет свои предложения по изменению вакансии на основе рыночной ситуации.
а) Список бонусов на добавление в вакансию. Менеджер ищет в вакансиях конкурентов основных упущений в вакансии по сравнению с вакансиями конкурентов. Хорошо, если у каждого пункта упущения указан процент конкурирующих вакансий, которые уже предлагают этот пункт. Тогда список упущений сортируется в порядке уменьшения процента. Условный пример списка бонусов от конкурентов, но которых пока нет в своей вакансии:
- 100% конкурентов предлагают выбор места работы на усмотрение кандидата (офис, гибрид, удаленный)
- 62% имеют IT-аккредитация для компании
- 47% заявляют о гибком начале рабочего дня
- и т.д.
Заказчик вакансии может выбрать, какие бонусы из перечисленных он сможет добавить в вакансию.
б) Также менеджер по персоналу проясняет для работодателя, насколько зарплатная вилка конкурентоспособная по сравнению с предложениями конкурентов. Если середина зарплатной вилки вакансии меньше середины (медианы) зарплатных вилок конкурентов, то менеджер предлагает заказчику вакансии увеличить зарплатную вилку хотя бы до среднего уровня (медианы) рыночной зарплаты.
Если заказчик отказывается приводить бонусы и зарплатную вилку к рыночным реалиям, то менеджер по персоналу предупреждает заказчика вакансии, что с такой вакансией не стоит ждать IT-талантов:
- соискатели имеют доступ к той же самой информации на hh.ru, что и менеджер по персоналу
- IT-таланты в первую очередь будут откликаться на более интересные вакансии конкурентов.
Такое предупреждение снимет возможные в будущем обвинения заказчика вакансии, что менеджер не умеет искать кандидатов. И уж если бы заказчик взялся бы за найм сам, то он нашел бы отличного сотрудника. Нет, не нашел бы. Даже сильная вакансия с хорошей зарплатной вилкой не гарантирует найма IT-таланта, а вакансия со слабой зарплатой и жесткими условиями работы точно не имеет шансов на удачное заполнение.
Шаг 4. Публикация вакансии. После обсуждения с начальством менеджер меняет условия вакансии. Обновленная вакансия публикуется на hh.ru.
Обработка опубликованных резюме
Менеджер по персоналу через CRM формирует запрос на поиск резюме на hh.ru. CRM через заказную программу “подтягивает” результаты поиска из hh.ru и оформляет их в виде карточек лидов (кандидатов). Все резюме получают по умолчанию статус “1. На рассмотрение”. Менеджер ищет в CRM резюме подходящих специалистов. Он не пытается определить хорошее ли это IT-резюме (у него нет для этого необходимой квалификации). Он должен лишь отбросить явно не подходящее резюме. После оценки резюме менеджер помечает его в CRM или как “0. Не подходит” или поднимает статус до “2. Перспективно”.
IT-специалист в свободное время просматривает накопившиеся резюме с пометкой “2. Перспективно” от HR. После оценки он помечает каждое резюме пометкой “0. Не подходит” или продвигает резюме дальше по воронке найма:
- “3. На ознакомительную встречу”
- или сразу “4. На техническое собеседование”
Менеджер периодически просматривает новые резюме с пометкой 3 или 4. Он связывается с каждым отобранным кандидатом и приглашает его или на ознакомительную встречу или сразу на техническое собеседование.
Использование текстовых заготовок
Дополнение Clippings для Firefox позволяет заранее подготовить несколько текстовых заготовок и быстро выбрать нужную по правому клику. Можно в многострочном текстовом поле вставить по очереди несколько заготовок.Если заготовок становится слишком много, Clippings позволяет распределить заготовки теста по разным категориям.
Аналогичные плагины существуют для Chrome и других браузеров.
Обучение на обработанных резюме
Обработка имеющихся резюме служит базой для двух процессов обучение.
1. Обучение менеджера по персоналу. Менеджер присутствует при процессе отбора резюме IT-специалистом. Специалист поясняет, чем подходит или не подходит то или иное резюме под требования вакансии. Со временем менеджер по персоналу лучше понимает, какие резюме ждет IT-специалиста.
2. Обучение программы-фильтра. Мы разработали и включили в заказную интеграционную программу еще одну программу. Это "программа-фильтр" на основе байесовского фильтра. Она просматривает поступившие резюме и фильтрует их на хорошие и не подходящие.
Программа-фильтр обучается на уже просмотренных резюме. Она:
- считает неподходящими все резюме со статусом:
- “0. Не подходит”.
- игнорирует все резюме со статусом “1. На рассмотрение”
- считает хорошими резюме с одобрительными статусами от менеджера по персоналу и IT-специалиста:
- 2. Перспективно
- 3. На ознакомительную встречу
- 4. На техническое собеседование
После обучения на десятках и сотнях резюме программа-фильтр уже сама начинает неплохо угадывать, понравится ли очередное резюме менеджеру и специалисту, или не понравится. По мере того, как менеджер и специалист продолжают оценивать резюме, программа-фильтр продолжает свое обучение. Она становится очень умной и может отсекать до 95-97% неподходящих вакансий с hh.ru, которые не понравятся менеджеру или специалисту.
Когда программа-фильтр достаточно хорошо обучена, менеджер по персоналу включает кнопку “Авто-фильтрация вакансий”. Теперь менеджер будет видеть в CRM только резюме, отобранные программой-фильтром. Они почти все соответствуют требованиям менеджера и технического специалиста.
Обратите внимание, что у разных вакансий разные требования к резюме. Поэтому программа-фильтр должна быть обучена с нуля для каждой новой вакансии. Но если программа-фильтр была обучена на какую-то вакансию, то ее можно использовать в будущем для найма на вакансию с аналогичными требованиями.
День открытых дверей
Голосование встречи. На первую групповую ознакомительную встречу приглашаются все кандидаты с hh.ru, которых удалось оповестить за день.
Каждый кандидат получает ссылку на групповое голосование. По ссылке он видит несколько слотов в разное время дня, когда IT-сотрудник может провести ознакомительную встречу. Каждый кандидат указывает все слоты, когда он сможет присутствовать. По результатам голосования IT-сотрудник определяет точное время ознакомительной встречи. Он оповещает всех кандидатов через CRM. Если кандидат не может придти в назначенное время, то он сможет посетить День открытых дверей в другой удобный ему день. (Такое голосование это аналог сервиса групповых встреч Xoyondo.com, только в нашем кейсе мы реализовали аналогичное голосование на сайте компании).
Проведение встречи. На ознакомительной встрече IT-сотрудник:
- рассказывает кандидатам о компании и вакансии, отвечает на вопросы
- не задает вопросы кандидатам, не тестирует кандидатов.
Это собеседование наоборот. Кандидаты решают, хотят ли они работать в компании и устраивает ли их должность. Такую встречу часто называют “День открытых дверей” для кандидатов по вакансии. Встреча проходит без всякого напряжения для кандидатов.
В конце Дня открытых дверей IT-сотрудник просит всех, кому нравится вакансия, пройти по ссылке в электронный “секретарь” и выбрать удобное время для технического собеседования. В качестве электронного “секретаря” мы настроили сервис Calendly.com. Он автоматически учитывает возможную разницу в часовых поясах между кандидатом и сотрудником, который будет проводить собеседование.
Видео встречи. С разрешения присутствующих ведущий записывает День открытых дверей. Если кто-то не хочет показывать себя в Интернет, ему предлагается отключить веб-камеру, задавать вопросы голосом или только через чат.
Корректировка вакансии. Менеджер по персоналу добавляет видео в раздел “Прошедшие Дни открытых дверей” на странице вакансии на hh.ru и на сайте компании. В описании к видео он добавляет список вопросов и временной момент, когда они были заданы. Зрители могут выбрать интересующий вопрос и одним кликом попасть в нужное место видео. Там же на странице вакансии в разделе “Частые вопросы и ответы” менеджер добавляет самые интересные вопросы, заданные на Дне открытых дверей и ответы на них. Если какой-то вопрос регулярно волнует кандидатов, то менеджер подробно освещает этот вопрос в тексте вакансии, на сайте и на hh.ru.
“Дожим” кандидатов. Если какие-то кандидаты не пришли на День открытых дверей, то CRM отсылает ссылку на видео и ссылку на голосование когда провести следующий день открытых дверей. Кандидат будет автоматически отписан от получения таких оповещений после посещения Дня открытых дверей. Или же он может отписаться в любой момент самостоятельно.
Совершенствование вакансии. По мере проведения Дней открытых дверей текст вакансии все лучше и лучше информирует новых соискателей. Также они могут посмотреть на видео как проходят Дни открытых дверей и почитать "Частые вопросы и ответы".
Собеседование
Собеседование это обычное техническое собеседование.
Упрощенный найм
Часто по резюме и по вопросам кандидата на Дне открытых дверей видно, что он силен. Или сам кандидат заявляет, что нет необходимости его проверять и он просит сразу встретиться с его будущим руководителем. В этом случае может быть пропущен как День открытых дверей, так и техническое собеседование. С кандидатом сразу встречается его будущий руководитель.
В течение нескольких часов после собеседования с руководителем принимается решение. Кандидат получает отказ или офер.
Слаживание команды найма
Обычно уходит около недели, чтобы разобраться со всеми подходящими резюме, которые были накоплены на hh.ru. К этому времени:
а) Небольшая команда из трех персон слаженно обрабатывает резюме:
- Программа-фильтр отбрасывает почти все вакансии из поиска по hh.ru, которые не подходят под вакансию и пропускает почти все подходящие вакансии. Она добавляет в CRM подходящие резюме для менеджера по персоналу
- Менеджер по персоналу проверяет через CRM вакансии, пропущенные программу-фильтр. Менеджер передает техническому специалисту только те вакансии, которые могут понравится специалисту
- IT-специалист просматривает в CRM резюме от менеджера. Он должен принять решение что делать с резюме. Или резюме отбрасывается. Или менеджер получает задание организовать встречу с кандидатом, ознакомительную или техническую.
б) Отработана технология проведения Дня открытых дверей и обработка его результатов. После каждого Дня открытых дверей менеджер по персоналу:
- корректирует вакансию
- пополняет раздел “Частые вопросы и ответы”
- добавляет видео-ролик в раздел “Дни открытых дверей”.
в) После окончания собеседования у IT-соискателя просят обратную связь. Что ему понравилось и что не понравилось в процессе найма. С учетом пожеланий IT-соискателей менеджеры перестраивают процесс найма и добиваются у руководства изменения условий вакансии.
г) Закончились ранее накопленные резюме. Все поступающие резюме и запросы на вакансию - свежие.
Наступает долгожданный момент. Все готово для создания вау-эффекта для IT-талантов. Команда делает видимой вакансию для всех и начинает искать свежие резюме.
Вау-эффект
Wow-эффект - это эмоция, которую испытывает человек, когда сервис или услуга неожиданно удивляют его куда более высоким уровнем качества, чем предполагалось. У клиента появляется восторг и радость. Он начинает делиться этой историей с окружением, тем самым привлекая дополнительное внимание других потенциальных клиентов.
Есть два ключевых момента в поиске работы на hh.ru, когда IT-талант может воскликнуть “Вау!”:
- когда IT-талант отправляет запрос на вакансию
- когда IT-талант впервые открывает свое резюме для работодателей на hh.ru.
Менеджеру по персоналу нужно связаться с IT-талантом в течение нескольких минут после этих ключевых моментов и пригласить на встречу. Тогда менеджер получит заслуженное “Вау!”.
Мониторинг hh.ru через заказную программу обнаруживает оба этих события в течении нескольких секунд после их возникновения. Далее натренерованная команда начинает обрабатывать событие:
- Программа-фильтр моментально определяет, похоже ли резюме на ранее одобренные. Если похоже, то добавляет карточку кандидат в CRM и отправляет извещение менеджеру по персоналу
- Менеджер проверяет резюме по ноутбуку или через смартфон. Если резюме подходит, то одним кликом в CRM пересылает резюме техническому специалисту
- Технический специалист проверяет резюме по ноутбуку или через смартфон. Если резюме интересно, указывает в CRM, на какую встречу пригласить соискателя:
- День открытых дверей
- техническое собеседование
- или сразу на встречу с руководителем
- Менеджер по персоналу созванивается (или списывается) с соискателем и приглашает его на указанную встречу.
На весь процесс первичного скрининга резюме и первый контакт с соискателем уходит несколько минут. Менеджер получает от соискателя заслуженное “Вау!”.
24 часа x 7 дней в неделю
Мониторинг подходящих резюме на hh.ru через заказную программу идет круглосуточно и без выходных. Менеджеры по персоналу тоже должны иметь возможность ответить круглосуточно и без выходных:
- работающие IT-кандидаты занимаются поиском работы часто вне рабочего времени и не со своих рабочих компьютеров
- IT-разработчики могут ложиться спать и в 1 и в 2 ночи
- в вакансиях на удаленную работу подходящие кандидаты могут жить в других часовых поясах.
Офис компании-клиента находился в московском часовом поясе. В кадровом подразделении одна из сотрудниц уходила в декрет. Руководство согласилось взять на подмену жительницу Петропавловска-Камчатского (сдвиг времени 9 часов по сравнению с Москвой):
Карта часовых поясов России: World-Time-Zones.ru
IT-подразделение регулярно отдавало часть задач на аутсорсинг. По просьбе кадрового подразделения очередного аутсорсера нашли на Дальнем Востоке.
Силами сотрудников из московского офиса и жителей Дальнего Востока удалось обеспечить быстрый первый звонок - круглосуточно и 7 дней неделю. В случае когда в резюме кандидата не был указан телефон, менеджер отправлял ему текстовое сообщение:
- с деталями встречи
- предложением получить звонок от менеджера прямо сейчас, если кандидат укажет свой номер телефона.
Задача о разборчивой принцессе
Внимательный читатель наверняка заметил, что поиск IT-таланта в этом кейсе длится далеко не один день. Да, это верно. Если менеджер по персоналу утром получит поручение хорошо закрыть IT-вакансию, то при всем желании он не сможет до вечера найти IT-талант.
Есть методики быстрого найма "One Day Offer", когда кадровое подразделение утром начинает найм, а вечером уже заполняет вакансию. Но подготовка занимает месяц-полтора:
- Как мы за один день наняли много C++ разработчиков: рекомендации МойОфис для нанимающих менеджеров
- Как нанять Java-разработчика всего за один день: опыт 1 Day Offer от Сбера
Также сами IT-таланты не всегда хотят целиком посвятить один день найму. Особенно если они еще работают или загружены домашними делами.
“Найм за один день” подразумевает срок найма с точки зрения IT-таланта. Если он хочет быть нанятым за один день, то кадровое подразделение полностью готово вместить в один день:
- быстрый звонок менеджера по персоналу
- прохождение 1-2 собеседований (День открытых дверей + техническая встреча или сразу встреча с руководством)
- отсылку офера.
На практике же большинству IT-соискателей удобнее, когда найм растянут на несколько дней. С точки зрения кадрового подразделения найм еще более растянут на недели. Подходящих кандидатов может быть десятки.
Возникает проблема. Как выбрать лучшего кандидата, если кандидаты распределены в течение нескольких недель, но каждый кандидат должен иметь возможность получить офер или отказ в течение дня после первого контакта?
В математике эта проблема известна с 1949 года и называется “Задача о разборчивой принцессе”.
Задача
Принцесса может по очереди знакомиться с заранее определенным количеством женихов:
Источник фото: wedby.me
После очередного знакомства принцесса должна:
- или принять руку и сердца жениха
- или отказать ему.
Какова ее стратегия, чтобы выбрать как жениха получше?
Решение
Советские математики Евгений Дынкин и Сабиром Гусейн-Заде решили эту задачу в 1960-х годах. Пусть количество женихов ограничено числом N. Принцесса должна разбить выбор на 2 этапа:
- Калибровка женихов. Невеста знакомится с первыми 37% женихов из N, но после знакомства им всем отказывает. На этапе калибровки ей важно понять уровень самого лучшего жениха.
- Выбор лучшего. Среди оставшихся женихов принцесса выбирает первого лучшего по сравнению с лучшим женихом этапа калибровки. Как только такой найден, она принимает предложение.
В этой стратегии шансы невесты получить самого лучшего жениха из N максимально высоки и равны тоже 37%.
Для пытливых читателей
Откуда же в задаче дважды взялось число 37%? В обоих случаях 37% это 1/e, где число e - основание натуральных логарифмов, 2,718281828
Когда найм кандидатов растянут на недели, для отбора лучшего кандидата применяется аналогичное решение. IT-подразделение сообщает, сколько технических интервью оно готово провести. Допустим, для найма одного IT-специалиста предполагается провести порядка 10 технических интервью. Тогда:
- первые 5 технических интервью являются калибровочными и позволяют определить примерный уровень кандидатов
- дальше производится поиск лучшего кандидата по сравнению с калибровочными интервью. Обычно на это уходит от 0 до 10 интервью. (Ноль, если отличный кандидат попадается уже во время калибровочных интервью. В таких случаях менеджер по персоналу закрывает вакансию даже не доходя до серии отборочных интервью, чтобы не терять хорошего кандидата). На отбор лучшего уходит в среднем 5 технических интервью.
Итак, в среднем за 10 технических интервью (из них 5 калибровочных и в среднем 5 отборочных):
- удается отобрать одного из лучших кандидатов среди прошедших техническое собеседование
- при этом каждый кандидат получает офер или отказ через несколько часов после технического собеседования.
Если кандидаты во время собеседования приходят все хуже и хуже (теоретически возможен и такой случай), то всегда можно в конце собеседования снова связаться с наиболее сильными кандидатами и сделать им предложение.
Результаты внедрения CRM
1) Качество новых сотрудников
Существенно увеличилось качество новых сотрудников. Стали даже попадаться "единороги", которые раньше просто бы не стали бы участвовать в многоэтапном процессе найма.
2) Кадровые перестановки
Кадровое подразделение “подсушилось”. Остались самые сильные. Остальных перевели в другие подразделения компании без ухудшения зарплаты.
Исчезли многоэтапные процессы найма. Вакансии стали закрываться быстрее в разы. Квалификация новых сотрудников увеличилась.
Это позволило существенно поднять зарплату оставшимся менеджерам по персоналу.
3) Снятие напряжения
Внедрение CRM дало менеджерам по персоналу ощущения спокойствия. В конце любого дня задачи по всем кандидатам поставлены, ни один кандидат не будет упущен, всё всем отправлено и отзвонено. Можно безмятежно отправляться отдыхать.
Начальство стало свободно отпускать сотрудниц в случае болезни детей. Отпуск или больница перестали ломать процесс найма. Срочные дела отсутствующего менеджера можно в пару кликов передать другому.
Прекратилось выгорание среди менеджеров по персоналу. Практически исчезла текучка кадров.
4) "Два в одном"
Повышение зарплат позволило взять в кадровое подразделение выпускника курса продакт-менеджеров с техническим образованием. По договоренности с IT-подразделением новый менеджер:
- 6 часов в день работает как менеджер по персоналу. Закрывает обычные и IT вакансии
- на 2 часа в день переходит в IT-команду. Работает как стажер (трейни) на должности продакт-менеджер.
Уже через месяц после начала работы новый менеджер по персоналу начал размещать IT-вакансии и вести Дни открытых дверей. В IT-вакансиях он размещает свой портрет и представляется как как продакт-менеджер. Обращается не от безликого "мы" (Мы приглашаем Вас на интервью...), а везде употребляет более личное "я" (Я хотел бы встретиться с Вами...). Пишет, что весь найм занимает 1-2 встречи. И если соискатель спешит с трудоустройством, то можно провести весь процесс найма 1 день.
IT-таланты живо откликаются на его вакансии. В обратной связи они говорят, что их привлекло в вакансии:
- не надо общаться с HR!!!
- не надо проходить многоэтапный найм
- наймом занимается человек из IT-команды.
Через год нового менеджера по персоналу:
- освободят от закрытия обычных не IT вакансий
- полностью переведут в IT подразделение с повышением зарплаты
- 6 часов из 8 он будет работать как джун продакт-менеджер. Остальные 2 часа будет продолжать закрывать вакансии IT-подразделения.
На перспективу кадровое подразделение получило от нас совет в будущем поддерживать в своем штате и в IT-подразделении хотя бы по 2-3 сотрудника с Дальнего Востока на удаленной работе для круглосуточного создания “вау-эффекта”.
5) Распространение опыта на всю компанию
К этому опыту с интересом присматриваются другие технические подразделения компании. Некоторые из них хотят по той же схеме завести себе на будущее специалиста-стажера, он же на первый год менеджер по персоналу. Кадровое подразделение тоже готово поддержать обучение временных менеджеров по персоналу:
- это освобождает кадровиков от работы со сложными техническими вакансиями
- обучение взаимное. За год работы в кадровом подразделении технические специалисты передадут свой опыт гуманитарным менеджерам по персоналу
- HR это не только найм, но и развитие имеющихся сотрудников компании. Хорошо, когда в технических подразделениях компании есть "свои" представители, на которых можно опереться в работе с персоналом.
8. Ссылки
Подошла к концу моя небольшая книга. Если вам не хочется расставаться, то вот пара ссылок для продолжения нашего знакомства.
Мое видео-приветствие (3 мин.) на сайте нашей компании:
https://maximaster.ru/max-sh/
Мое резюме системного аналитика на hh.ru (потребуется регистрация на hh.ru чтобы его увидеть):
https://hh.ru/resume/f8257216ff0bdbb15a0039ed1f61356c434675
Удачи в найме IT персонала!