Забудьте про рутину: AI-ассистент для оценки кандидатов и подбора персонала

от автора

В мире, где технологии стремительно развиваются, HR-специалисты и рекрутеры сталкиваются с новыми вызовами. Отбор кандидатов, оценка их навыков и компетенций, а также составление тестовых заданий — все это требует значительных временных и человеческих ресурсов.

Но что, если можно было бы автоматизировать значительную часть этих процессов, сохранив при этом высокий уровень точности и персонализации?

В этой статье мы рассмотрим, как использование LLM (Large Language Models) может помочь в подборе персонала и оценке кандидатов, делая процесс более эффективным и результативным. В конце статьи поделюсь ссылкой на телеграм бота, чтобы вы могли сами проверить, как это работает.

Немного предыстории

Обычно в крупных компаниях подбором кандидатов занимаются отдельные сотрудники (иногда даже отдельные организации), которые мониторят разные источники резюме. Как правило, этим занимаются выделенные сотрудники HR (внутренние или внешние). И в целом это позволяет ускорить процесс найма, но все равно отнимает много времени у нанимающих руководителей и тех. экспертов. Попробую описать как выглядит типовой процесс подбора в ИТ:

  1. Тех. эксперты пишут требования к кандидатам и передают HR или ИТ бирже (если компания привлекает внешних подрядчиков). Часто они же и составляют описание вакансии.

  2. HR ищут подходящих кандидатов на «работных» сайтах типа HH.ru и присылают список резюме тех. экспертам. Качество этой подборки сильно зависит от чуйки квалификации и опыта HR.

  3. Тех. эксперты изучают подборку резюме и указывают HR, с кем нужно запланировать интервью. Качество оценки так же сильно зависит от опыта тех. эксперта или нанимающего руководителя. Часто те самые тех. эксперты заняты срочными/горящими задачами и оценкой занимаются менее опытные сотрудники. И это так же не уменьшает количество повторений шагов 2-5.

  4. HR связываются с кандидатами и предлагают пройти интервью. На этом этапе часть отобранных кандидатов уже отваливается, потому что между шагами 2 и 3 проходит немало времени. Основная причина: кандидаты с хорошим опытом быстро находят работу в другой компании, пока их резюме пройдут через несколько этапов отбора.

  5. Кандидат проходит интервью с тех. экспертом. Если интервью не пройдено или кандидата не устроили условия, то шаги 2-4 повторяются заново. Очень часто они повторяются пока не наберется нужное количество кандидатов в воронке.

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

LLM нас спасут

И тут нам на помощь приходят LLM, которым можно поручить:

  1. Грамотно и быстро составить описание вакансии

  2. Быстро оценить резюме по совокупности требований к кандидату

  3. Грамотно и быстро составить план интервью и тестовое задание в соответствии с перечнем требований

  4. Сгенерировать проверочные тесты в соответствии с перечнем требований

  5. Оценить тестовое задание или результаты теста

  6. Автоподбор кандидатов в соответствии с перечнем требований

Теперь подробнее по каждому пункту.

1. Генерация описания вакансии

Решение: Укажите позицию и требования через промпт, а LLM сгенерирует привлекательное и информативное описание вакансии, учитывая все нюансы и ключевые слова для эффективного поиска.
Это позволит сэкономить время и избежать ошибок, связанных с ручным составлением текста.

Пример автоматически сгенерированного описания вакансии:

Присоединяйтесь к нашей команде и работайте над сложными и интересными проектами!

Мы ищем опытного Senior Java Разработчика, который будет работать над разработкой высокопроизводительных и масштабируемых приложений на основе Java. Если вы имеете опыт работы с Java 11+, Spring Boot, Spring Security, Kafka, Hibernate и другими современными технологиями, то эта вакансия для вас!

Требования:

  • Опыт работы с Java 11+ от 3 лет

  • Знание Spring Boot, Spring Security, Kafka, Hibernate

  • Опыт работы с kubernetes или openshift

  • Опыт работы с LiquiBase и СУБД PostgreSQL

  • Знание SQL

  • Опыт работы с Apache Kafka

  • Опыт работы с инструментами Git/Mercurial

  • Умение проектировать и реализовывать эффективные модульные тесты

  • Уверенное знание принципов работы HTTP, REST и микросервисных паттернов

Что мы предлагаем:

  • Возможность работать над сложными и интересными проектами

  • Коллектив опытных разработчиков, готовых делиться знаниями и опытом

  • Возможность роста и развития в компании

  • Конкурентная зарплата

  • Дополнительные льготы и бонусы

Диапазон зарплат:

  • 250 000 — 400 000 рублей в месяц (в зависимости от опыта и квалификации)

Если вы заинтересованы в этой вакансии, пожалуйста, отправьте нам свое резюме и мотивационное письмо.

2. Автоматическая оценка резюме по перечню требований

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

  • java 11+ от 3 лет

  • знание Spring Boot, Spring Security, Kafka, Hibernate;

  • опыт работы с kubernetes или openshift;

  • опыт работы с LiquiBase и СУБД PostgreSQL;

  • знание SQL;

  • опыт работы с Apache Kafka;

  • опыт работы с инструментами Git/Mercurial; умение проектировать и реализовывать эффективные модульные тесты;

  • уверенное знание принципов работы HTTP, REST и микросервисных паттернов;

Кандидат может иметь опыт разработки на Java, но не иметь опыта работы по всем остальным.

Решение: загрузите резюме, укажите требования через промпт, и LLM предоставит развернутую оценку соответствия по каждому требованию, выделяя сильные и слабые стороны кандидата. Анализ идет глубже простого сопоставления навыков: LLM оценивает опыт, образование и даже стиль письма, предоставляя вам полную картину.

Пример автоматической оценки конкретного резюме:

Иванов Иван Иванович, 8,5/10

Выжимка: Кандидат имеет опыт работы в качестве Java-разработчика в течение 3 лет и 3 месяцев. Он работал с различными технологиями, включая Java 11+, Spring Boot, PostgreSql, Kafka и Docker. У него есть опыт работы с микросервисной архитектурой и участие в обсуждении архитектурных решений.

Оценка по каждому требованию:

  1. Java 11+ от 3 лет: 10/10 (кандидат имеет опыт работы с Java 11+ в течение 3 лет)

  2. Знание Spring Boot, Spring Security, Kafka, Hibernate: 8/10 (кандидат имеет опыт работы с Spring Boot, Kafka, но не упоминает о Spring Security и Hibernate)

  3. Опыт работы с Kubernetes или OpenShift: 0/10 (кандидат не упоминает о Kubernetes или OpenShift)

  4. Опыт работы с LiquiBase и СУБД PostgreSQL: 10/10 (кандидат имеет опыт работы с LiquiBase и PostgreSQL)

  5. Знание SQL: 10/10 (кандидат имеет опыт работы с SQL)

  6. Опыт работы с Apache Kafka: 10/10 (кандидат имеет опыт работы с Kafka)

  7. Опыт работы с инструментами Git/Mercurial: 10/10 (кандидат имеет опыт работы с Gitlab)

  8. Умение проектировать и реализовывать эффективные модульные тесты: 10/10 (кандидат имеет опыт работы с JUnit и Mockito)

  9. Уверенное знание принципов работы HTTP, REST и микросервисных паттернов: 10/10 (кандидат имеет опыт работы с REST и микросервисной архитектурой)

Зарплата по рынку: 120 000 — 150 000 рублей в месяц.

3. Составление плана интервью и тестового задания в соответствии с перечнем требований

Если вы еще не набили руку, проведя десятки интервью, то нужно составить четкий план интервью и критерии оценки.

Решение: укажите требования через промпт и LLM составит план интервью с учетом вашей специфики и подготовит релевантное тестовое задание, позволяющее оценить практические навыки кандидата. Больше никаких шаблонных вопросов!

Пример автоматически составленного плана интервью:

План собеседования для проверки hard и soft skills кандидата на позицию senior java разработчика:

Часть 1: Введение и общая информация (10-15 минут)

  • Представление себя и компании

  • Обсуждение целей и ожиданий от собеседования

  • Краткое ознакомление с резюме кандидата

Часть 2: Технические вопросы (40-50 минут)

  • Java:

  • Какие особенности Java 11+ вы знаете и как их применяете в своей работе?

  • Как вы организуете код в своих проектах? (например, использование паттернов проектирования)

  • Как вы решаете проблемы с производительностью в своих приложениях?

  • Spring Boot:

  • Как вы используете Spring Boot в своих проектах?

  • Как вы конфигурируете приложения Spring Boot?

  • Как вы решаете проблемы с безопасностью в своих приложениях Spring Boot?

  • Spring Security:

  • Как вы используете Spring Security в своих проектах?

  • Как вы конфигурируете аутентификацию и авторизацию в своих приложениях?

  • Как вы решаете проблемы с безопасностью в своих приложениях Spring Security?

  • Kafka:

  • Как вы используете Kafka в своих проектах?

  • Как вы конфигурируете продюсеры и консьюмеры в своих приложениях?

  • Как вы решаете проблемы с производительностью в своих приложениях Kafka?

  • Hibernate:

  • Как вы используете Hibernate в своих проектах?

  • Как вы конфигурируете маппинг объектов в своих приложениях?

  • Как вы решаете проблемы с производительностью в своих приложениях Hibernate?

  • PostgreSQL:

  • Как вы используете PostgreSQL в своих проектах?

  • Как вы конфигурируете базы данных в своих приложениях?

  • Как вы решаете проблемы с производительностью в своих приложениях PostgreSQL?

  • LiquiBase:

  • Как вы используете LiquiBase в своих проектах?

  • Как вы конфигурируете миграции баз данных в своих приложениях?

  • Как вы решаете проблемы с производительностью в своих приложениях LiquiBase?

  • Kubernetes/OpenShift:

  • Как вы используете Kubernetes/OpenShift в своих проектах?

  • Как вы конфигурируете контейнеры и сервисы в своих приложениях?

  • Как вы решаете проблемы с производительностью в своих приложениях Kubernetes/OpenShift?

Часть 3: Soft skills и опыт работы (30-40 минут)

  • Как вы работаете в команде? Как вы общаетесь с коллегами?

  • Как вы решаете конфликты в команде?

  • Как вы организуете свою работу? Как вы планируете свои задачи?

  • Как вы отчитываетесь о своей работе? Как вы предоставляете отчеты о проделанной работе?

  • Как вы узнали о нашей компании? Что вас привлекло в нашей компании?

  • Как вы видите свою карьеру в нашей компании? Как вы планируете развиваться в нашей компании?

Часть 4: Вопросы кандидата (10-15 минут)

  • У кандидата есть возможность задать вопросы о компании и о позиции

Часть 5: Заключение (5-10 минут)

  • Подведение итогов собеседования

  • Обсуждение следующих шагов в процессе отбора

Ссылки на литературу для подготовки:

  • «Java: полное руководство» (Herbert Schildt)

  • «Spring Boot: полное руководство» (Craig Walls)

  • «Spring Security: полное руководство» (Rob Winch)

  • «Kafka: полное руководство» (Neha Narkhede)

  • «Hibernate: полное руководство» (Christian Bauer)

  • «PostgreSQL: полное руководство» (Simon Riggs)

  • «LiquiBase: полное руководство» (Nathan Voxland)

  • «Kubernetes: полное руководство» (Brendan Burns)

  • «OpenShift: полное руководство» (Grant Shipley)

Примечание: Вопросы и темы могут быть изменены или дополнены в зависимости от конкретных требований и ожиданий компании.

4. Генерация тестов

Чтобы заранее понять соответствие кандидата вашим требованиям можно составить онлайн тест и предложить его пройти.

Решение: для более глубокой оценки компетенций кандидата попросите LLM автоматически сгенерировать тесты, соответствующие требованиям вакансии. Эти тесты могут включать вопросы на проверку знаний, навыков и личных качеств, что помогает получить более полное представление о кандидате.

Приведу здесь пример автоматически сгенерированного теста для senior java разработчика. Попробуйте пройти и потом оценить свои знания))

5. Оценка тестового задания или результатов теста

Чтобы сэкономить время на проверке тестовых заданий и пройденных тестов можно так же поручить эту задачу LLM.

Решение: укажите требования через промпт, загрузите выполненное задание или укажите ссылку на тест, и LLM предоставит развернутую оценку выполненного задания по каждому требованию, а также даст общие рекомендации.

Пример автоматической оценки пройденного теста:

Оценка результатов тестирования кандидата на позицию senior java разработчик:

Общая оценка: 2/10

Анализ результатов:

  • Кандидат не смог предоставить удовлетворительные ответы на большинство вопросов, что вызывает сомнения в его компетенции и опыте в области Java и связанных технологий.

  • На вопросы о Java 11+, Spring Security, Kafka и Hibernate кандидат дал ответы, которые можно охарактеризовать как «фывфывыв» или «фывыфв», что не дает никакой информации о его опыте и знаниях в этих областях.

  • На вопросы о Kubernetes или OpenShift, LiquiBase и SQL кандидат дал ответы, которые демонстрируют отсутствие знаний и опыта в этих областях.

  • На вопросы о Apache Kafka, Git/Mercurial и микросервисных приложениях кандидат дал ответы «не знаю», что демонстрирует полное отсутствие знаний и опыта в этих областях.

Рекомендации:

  • Кандидат не соответствует требованиям к позиции senior java разработчик и не имеет необходимых знаний и опыта в области Java и связанных технологий.

  • Рекомендуется рассмотреть других кандидатов, которые имеют более подходящий опыт и знания в области Java и связанных технологий.

  • Если кандидат хочет улучшить свои шансы на эту позицию, ему рекомендуется пройти дополнительное обучение и получить опыт в области Java и связанных технологий.

6. Автоподбор кандидатов*

Чтобы не тратить много времени на просмотр резюме, можно поручить эту задачу RAG (Retrieval Augmented Generation).

Решение: для более качественной подборки кандидатов в соответствии с вашими требованиями создайте базу знаний из резюме кандидатов, и подайте вместе с промптом на вход LLM. На основе вашей информации LLM предоставит общую оценку по каждому из наиболее подходящих под ваши требования кандидатов, ранжируя их по релевантности.

Пример автоподбора кандидатов на hh.ru:

После оценки кандидатов, я получил следующие результаты:

  1. Java-разработчик (https://hh.ru/resume/690987270007e68d700039ed1f6d7673666f56) Оценка: 9,6/10 Обоснование: Кандидат имеет опыт работы с Java 8-17, Spring Boot, Spring Security, Spring Data, Liquibase, PostgreSQL, Kafka, Docker, Kubernetes, Git, Mercurial, JUnit, Mockito, Testcontainers, ELK stack, Swagger. Он также имеет опыт работы с Linux, Maven, Redis streams.

  2. Java-разработчик (https://hh.ru/resume/f7995e2f000792a9e60039ed1f6f4355545344) Оценка: 9,4/10 Обоснование: Кандидат имеет опыт работы с Java 11, Spring Boot, Spring Security, Spring Data, Liquibase, PostgreSQL, Kafka, Docker, Kubernetes, JUnit, Mockito, Testcontainers, ELK stack, Swagger. Он также имеет опыт работы с Agile Scrum, микросервисами, REST API, интеграционными и Unit тестами.

  3. Java Developer (https://hh.ru/resume/35025c7600040307940039ed1f47446b4e674e) Оценка: 2/10 Обоснование: Кандидат имеет опыт работы с Spring MVC, JPA/Hibernate, Spring Boot, Spring Data, но не имеет опыта работы с Java 11+, Liquibase, PostgreSQL, Kafka, Docker, Kubernetes, Git, Mercurial, JUnit, Mockito, Testcontainers, ELK stack, Swagger.

  4. Java Developer (https://hh.ru/resume/ab21064d0002c3a9b00039ed1f733859467973) Оценка: 2/10 Обоснование: Кандидат имеет опыт работы с Java 8+, Spring Boot, Spring Data, Spring Security, REST, Gradle, Maven, Docker, AWS, MySQL, Postgres, RDS, DynamoDB, H2, Git, Linux, Windows, Mac, но не имеет опыта работы с Java 11+, Liquibase, PostgreSQL, Kafka, Docker, Kubernetes, Git, Mercurial, JUnit, Mockito, Testcontainers, ELK stack, Swagger.

  5. Java Developer (https://hh.ru/resume/707790d900036242800039ed1f39417462454c) Оценка: 1,8/10 Обоснование: Кандидат имеет опыт работы с Java 8, Spring Boot, Spring Security, REST API, PostgreSQL, Jasper Studio, XML, но не имеет опыта работы с Java 11+, Liquibase, PostgreSQL, Kafka, Docker, Kubernetes, Git, Mercurial, JUnit, Mockito, Testcontainers, ELK stack, Swagger.

Заключение

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

Как и обещал в начала статьи, делюсь ссылкой на телеграм бота.

Ну и конечно же пишите свои мысли в комментах.


ссылка на оригинал статьи https://habr.com/ru/articles/862282/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *