Як розробити ПЗ для підбору персоналу і не потрапити у халепу

Деякі компанії розробляють програмну систему спеціально для своїх рекрутерів. Це технологічно непросте завдання.
Я знаю, як його вирішувати в деталях і які нюанси потрібно врахувати, оскільки керував розробкою «з нуля» успішною хмарної і корпоративної системи для найму.

Прочитавши цю статтю, ви дізнаєтеся:

  • Функціональні вимоги до сучасного ПО для підбору персоналу;
  • Вимоги до безпеки;
  • Деякі технічні рекомендації;
  • Нюанси підтримки і подальшого розвитку;
  • Рекомендації про те, що потрібно зробити перед початком розробки;
  • Як можна облажатися.

Сподіваюся, стаття допоможе ефективніше спланувати ресурси для такого завдання, зробити її краще і швидше.

 

Що таке система для рекрутингу?

 
Рекрутери – це люди, що підбирають персонал.
Система для автоматизації рекрутингу – це програмне рішення, в якому рекрутери можуть::

  • Зручно вести робочу базу кандидатів і вакансій;
  • Працювати спільно, розділяти відповідальність і встановлювати нагадування;
  • Спростити і автоматизувати ведення бази даних і підбір персоналу.

Рекрутери ведуть свою базу кандидатів, щоб зберігати контакти, історію спілкування і результати по кожному претенденту на вакансії.
Ведення бази даних повинне бути швидким, легким і не вимагати зайвих дій від користувачів. Інакше трудомісткість роботи з базою нівелює всі плюси інших функцій автоматизації.

 

Якою має бути система? Вимоги.

 

I. Мінімальні функціональні вимоги

 
Вимоги, без яких систему не варто запускати:
1. Додавання в базу і редагування даних по вакансіях, кандидатам, замовникам. Можливість написання коментарів по ним.
2. Пошук вакансій і кандидатів за кількома параметрами.
3. Легкість ведення бази даних.  Ця найважливіша функція зводиться в основному до простоти і швидкості додавання кандидатів в систему: рекрутери додають в базу сотні резюме в місяць.
Кандидатів можна додати в систему з:

  • файлів резюме в електронному вигляді;
  • онлайн-профілю в LinkedIn;
  • онлайн-резюме на сайтах пошуку роботи.

В ідеалі, ці дії повинні бути «в один клік». Зробити це досить складно. Але якщо рекрутери не зможуть швидко наповнювати базу даних, все подальші переваги від такої системи не покриють цей недолік.
А що, якщо рекрутери отримали 30-200 відгуків по вакансії на сайті пошуку роботи? Переносити їх в систему вручну – занадто багато роботи, навіть якщо потрібно перенести лише частина з них. Якщо ж переносити в базу не всю інформацію, це відіб’ється на подальшій ефективності роботи.
У деяких компаніях рутинною роботою займається окрема людина. Це може бути рішенням. Але додатковому співробітнику треба платити гроші, він не такий швидкий, як програма, а також присутній «людський фактор».
Я спеціально навів аргументи і приклади,бо виконання або невиконання цього пункту визначає успіх або провал системи. Зараз є багато хмарних програм для рекрутингу, а також рішень, розроблених спеціально під конкретну компанію. Багато зазнали краху саме через нехтування парсинга резюме (автоматичний переніс даних системою з завантажених файлів) і інтеграцією з LinkedIn, сайтами пошуку роботи, електронною поштою.
4. Захист від дублювання кандидатів (їх резюме) в базі. Не варто недооцінювати важливість і складність цього завдання. Нижче розповім чому.
5. Спільна робота команди наймачів із загальною базою вакансій і кандидатів. Це включає можливість призначати відповідальних рекрутерів по конкретним вакансіях і кандидатам.
6.  Можливість управління повноваженнями користувачів і обмежувати деякі функції, щоб уникнути помилок або видалення важливої ​​інформації.
7. Фіксування історії кожної дії користувачами в системі. Це дозволяє формувати звіти про виконану роботу, статистику по роботі рекрутерів і закриття вакансій, а також точно знати, хто, що і коли саме зробив.
 

Обов’язкові функціональні вимоги

 
Дуже важливі. Без їх виконання можна запустити систему і якийсь час працювати, приймаючи зворотний зв’язок від користувачів. Але без них система неповноцінна і залишає рекрутерам багато «ручних» рутинних дій. Ці вимоги краще виконати ще до запуску або в найкоротші терміни після запуску.
1. Повнотекстовий пошук по файлах резюме.
2. Повідомлення про важливі дії і події на пошту і в інтерфейсі.
3. Інтеграція з онлайн-календарем (Google Calendar, Outlook тощо).
4. Зручні і мають можливість налаштування етапи для кандидатів по вакансії (workflow вакансії) та причини відмов кандидатів.
5. Інтеграція з email:

  • перенесення до бази даних резюме, які прийшли рекрутеру на email;
  • збереження історії email-листування з кандидатами на їхніх сторінках в системі;
  • можливість автоматично відправити кандидату нагадування про співбесіду з адресою та картою проїзду.

6. Звіти про виконану роботу по вакансії.
7. Звіт за результатами роботи кожного рекрутера за конкретний період.
8. Пошук за ПІБ кандидата з транслітерацією, як вміє Facebook.
9. Зрозуміла, «інтуїтивна» взаємодія з програмою (і весь UX интерфейсу в цілому).
Коли система ускладнюється, ускладнюється і впровадження функцій. Як все правильно розмістити в інтерфейсі, підписати, правильно розставити акценти, щоб всі функції були зрозумілі і під рукою? Потрібно видати користувачам потужні і зручні функції і в той же час не перевантажити інтерфейс.
 

III. просунуті вимоги

 
Вони потрібні для збільшення ефективності роботи. Для деяких компаній окремі пункти потрібно зарахувати до обов’язкових, для деяких вони поки зовсім не потрібні. Це залежить від потреб вашого HR-відділу.
1. Звіт за джерелами появи кандидатів.
2. Розрахунок середньої зарплати по кандидатам, відібраним на вакансію.
3. Можливість опублікувати вакансію в соцмережах в один клік. Також окрема сторінка вакансії, до якої кандидати відправляють резюме безпосередньо в систему.
4. Сторінка з усіма вакансіями компанії, яку можна зручно впровадити на корпоративному сайті.
5. Можливість дати замовнику доступ до вакансій в програмі, щоб він міг переглядати всі відібрані резюме і відзначати по ним рішення без спілкування з рекрутером.
6. Матчинг (автоматичні рекомендації) підходящих кандидатів: система визначає в базі найбільш підходящих під задані вимоги вакансії кандидатів по їх резюме та пропонує рекрутеру.
7. Масова завантаження нових резюме в базу у вигляді архіву з файлами резюме.

8. Ведення завдань по кандидатам і вакансіям з нагадуваннями.
9. Мобільний додаток або зручна мобільна версія сайту.
10. Розсилка кандидатам вакансій на пошту.
11. API для інтеграції з сайтом або внутрішніми програмами компанії.
 

IV. Вимоги до безпеки

 
1. Шифрування паролів. З сіллю.
Для багатьох програмістів і архітекторів ПО це само собою зрозуміло. При цьому шифрування паролів багато ігнорують.
Не так давно був витік частини бази Яндекса з логінами і паролями від пошти. Ще раніше у провідних сайтів пошуку роботи функція «Забули пароль?» просто надсилала на пошту пароль у відкритому вигляді. Виходить, він так і зберігається в базі у відкритому вигляді. Деякі сайти перестали так робити і видають посилання для зміни пароля. Правда, це не означає, що паролі зашифровані.
Навіщо це робити?
Паролі у відкритому вигляді може таємно комусь передати або «злити» в мережу хтось з адміністраторів. Керівництво навіть нічого не дізнається про махінації. Треті особи можуть скопіювати собі дані з системи, тому що вони заходять в неї по відомим логінів і паролів, і їм все доступно.
Я вважаю за краще не сподіватися на сумлінність адміністраторів бази, техпідтримки або ще кого-то. Коли про витік даних дізнаються постраждалі, можлива величезна шкода для репутації.
Зашифровані паролі – це професійний підхід. Краще не брати на себе ризики витоку паролів. Якщо хтось отримає добре зашифровані паролі, розшифрувати і скористатися ними буде практично нереально.
2. Шифроване SSL-з’єднання.
Шифрування захищає дані від перехоплення. Якщо в адресі сайту є «https», це означає, що дані від браузера до сервера передаються зашифрованими і їх перехоплення буде марний. Логін і пароль не зможуть перехопити. Це легко і дешево зробити для будь-якого сайту.
3. Бекапи (відкати змін системи). Само собою.
 

V. Важливі технічні вимоги

 
1. Вічні сесії користувачів, які не займають оперативну пам’ять.
Ми теж вважали, що авторизуватися заново не проблема. Але реальність така, що користувачі люблять відкривати багато вкладок в робочій системі. Якщо при перезавантаженні сервера або програми для користувача сесія завершується у всіх вкладках – це неприємність.
2. Для повнотекстового пошуку по резюме потрібно використовувати спеціальний «движок».
Наприклад, Apache Solr. Він навряд чи буде ефективно працювати відразу після впровадження. Його необхідно донастроювати, проводити багато тестів. Це творча та інтелектуальна робота.
3. База даних швидко збільшується.
Потрібно будувати ефективні індекси і писати ефективні SQL-запити.
4. Програмісти повинні вміти знаходити і усувати витоки пам’яті.
При розробці складних програм ця проблема виникає рано чи пізно. Така ймовірність підвищується, якщо в розробці брали участь не дуже досвідчені розробники. Рішення проблеми включає настройку моніторингу роботи ПО, тестування поєднання різних функцій, порівняння дампів пам’яті програми.
 

VI. Нюанси підтримки і розвитку ПЗ

 
Хороший софт для рекрутингу – це не той випадок, коли все запустили, і можна більше не втягуватися в доопрацювання. Перерахую основні важливі моменти зі свого досвіду:
1. Інтеграція періодично порушується або перестає працювати через зміни в LinkedIn, на сайтах пошуку роботи або в поштових сервісах.
2. Вихід нових версій браузерів вносить зміни в інтерфейс користувачів. У них може щось «поїхати», перестати працювати або почати виглядати гірше.
3. Велика розмаїтість варіантів резюме або вакансій призводить до того, що періодично перебувають варіанти, які мають недоліки в зовнішньому вигляді, парсінгу, рекомендаціях. Доводиться постійно шукати нові рішення, враховувати різні нюанси, удосконалювати алгоритми.
4. Світ не стоїть на місці. Все розвивається. Рекрутерам постійно потрібні нові функції. Якщо їх не надавати, можливості наймачів починають відставати від можливостей їх колег з інших компаній.
У підсумку це негативно впливає на швидкість і якість закриття вакансій, на фінансові результати компанії. Доробки вимагають відволікання і витрат.
5. Звичайні запитання користувачів і їх проблеми, які іноді незрозуміло як відтворити. Запити скріншотів, пояснення – все це вимагає залучення програмістів.
 

VII. Рекомендації перед початком розробки

 
Для розробки «з нуля» системи для рекрутингу, яка відповідає мінімальним і обов’язковим вимогам, може знадобитися 35-50 людино-місяців роботи.
Я не бачу можливості реалізувати цей проект більш вигідно, ніж купити готове рішення, навіть з доробками спеціально для своєї компанії.

Що потрібно зробити перед початком розробки, деякі рекомендації:

1. Детально розписати, які функції ПО кращі і достатні для рекрутерів. Можна відштовхуватися від списку, наведеного вище.
2. Разом з архітектором ПО розрахувати бюджет, необхідний на всю розробку, а також склад команди і термін реалізації проекту.
3. Визначити, чим користуватися, допоки система в розробці.
4. Запросити комерційні пропозиції від вузькопрофільних постачальників систем для рекрутингу.
Можливо, ви отримаєте вигідні пропозиції за хорошу готову систему, не залучаючи трудові і фінансові ресурси своєї компанії.
 

VIII. Як можна облажатися

 
1. Витратити неприйнятно багато грошей.
При середній вартості людино-місяця для компанії на рівні 1 500 USD (економно), вартість всієї розробки складе від 52 500 до 75 000 USD. Нагадаю, це з розрахунку 35-50 людино-місяців роботи.
Для прикладу: такі гіганти, як SoftServe та GlobalLogic розробляють свої системи для найму вже кілька років (!).
Тут є ще такий неприємний чинник: шкода кидати проект після того, як його довго робили і багато грошей вклали.
Подібні сумніви відчувають недосвідчені гравці в покер, коли вже поставили багато і продовжують підвищувати ставки, навіть коли гра складається не на їх користь.
2. Розробляти занадто довго, змушуючи рекрутинг страждати, бути нееффективним весь цей час.
3. Робити-робити і недоробити. Або віддати рекрутерам софт в такому жалюгідному стані, що вони не захочуть ним користуватися.
Так буває, коли змінюється керівництво або HR-директор, які брали участь в ухваленні рішення про розробку.
Бажаю вам успіхів у цьому затягується і захоплюючій справі!

Володимир Курило
CEO @ CleverStaff.net