---
Początek drogi: rozmowa w Slacku
W jeden z zwykłych dni w naszym Slacku dyskutowaliśmy, jak poprawić proces rekrutacji kandydatów dla firm. Jeden z programistów wspomniał, że kandydaci często mają trudności ze zrozumieniem wymagań pracodawców. Ten moment stał się punktem wyjścia dla naszego zespołu.
Kontekst problemu
Pracowaliśmy w obszarze technologii HR i rozumieliśmy, jak ważny jest jakościowy dobór kadr dla rozwoju biznesu. Firmy narzekały na brak odpowiednich kandydatów, a poszukujący pracy - na brak przejrzystości w wymaganiach i oczekiwaniach. Każdego dnia widzieliśmy, jak ta różnica stwarza problemy dla obu stron. Ważne było, aby rozwiązać ten problem, aby poprawić procesy zarówno dla kandydatów, jak i dla pracodawców.
Konkretne problemy
Pewnego dnia otrzymaliśmy zapytanie od startupu, który nie mógł znaleźć odpowiedniego programisty do swojego zespołu. Opublikowali ofertę pracy, ale otrzymali wiele CV od kandydatów, którzy nie spełniali wymagań. Doprowadziło to do straty czasu zarówno dla HR, jak i dla poszukujących pracy. Zrozumieliśmy, że obecne narzędzia nie są w stanie efektywnie dopasować umiejętności kandydatów do potrzeb firm.
Pierwsze próby
Nasze pierwsze próby polegały na wykorzystaniu standardowych algorytmów dopasowania CV. Myśleliśmy, że wystarczy zwiększyć ilość danych, aby poprawić wyniki. Jednak nie przyniosło to wymiernych efektów. Napotkaliśmy problemy z nadmiarem danych i brakiem kontekstu, co czyniło algorytm nieefektywnym. W końcu postanowiliśmy przemyśleć nasze podejście i skupić się na głębszym zrozumieniu umiejętności i wymagań.
Podejście techniczne
Nasz zespół opracował nowy algorytm, który uwzględniał nie tylko słowa kluczowe, ale także kontekstowe powiązania między umiejętnościami a wymaganiami. Wprowadziliśmy dopasowanie semantyczne, które pozwalało na dokładniejsze określenie zgodności kandydatów. Oto jak wyglądał fragment kodu, który wykorzystaliśmy do analizy CV:
import spacy
def analyze_resume(resume_text):
nlp = spacy.load('en_core_web_sm')
doc = nlp(resume_text)
skills = [token.text for token in doc.ents if token.label_ == 'SKILL']
return skills
To podejście pozwoliło nam dokładniej identyfikować umiejętności i zgodności, co ostatecznie skróciło czas potrzebny na rekrutację.
Zmiany w produkcie
Po wdrożeniu nowego algorytmu zauważyliśmy znaczną poprawę jakości rekrutacji. Firmy zaczęły otrzymywać bardziej trafne CV, a kandydaci - oferty odpowiadające ich umiejętnościom. Zaktualizowaliśmy strony na naszej stronie internetowej, aby odzwierciedlić te zmiany, i poprawiliśmy sekcje /jobs i /for-companies, kładąc nacisk na dokładność rekrutacji.
Lekcje, które wyciągnęliśmy
- Zrozumienie kontekstu jest ważniejsze niż tylko zwiększenie objętości danych.
- Wykorzystanie semantyki może znacznie poprawić dokładność rekrutacji.
- Zespół powinien być otwarty na błędy i niepowodzenia - to ważna część procesu.
- Efektywna komunikacja między HR a programistami jest kluczowa dla sukcesu.
- Nie należy lekceważyć znaczenia opinii od użytkowników.
Co to oznacza dla kandydatów
Dla kandydatów oznacza to, że mogą oczekiwać bardziej spersonalizowanego i dokładnego podejścia do rekrutacji. Staramy się dostarczyć im jaśniejsze informacje o wymaganiach i oczekiwaniach pracodawców, co z kolei poprawia ich szanse na udane zatrudnienie.
Co to oznacza dla rekruterów
Rekruterzy teraz mogą pracować z lepszymi danymi o kandydatach, co oznacza mniej czasu spędzonego na filtrowaniu nieodpowiednich CV. To pozwoli im skupić się na bardziej strategicznych aspektach rekrutacji, takich jak interakcja z kandydatami i budowanie relacji z klientami.
Następne kroki
Nadal monitorujemy wyniki naszego algorytmu i planujemy dalsze jego ulepszanie. W szczególności chcemy zbadać możliwości integracji z innymi platformami i danymi. Gdybyśmy mieli coś zmienić, zaczęlibyśmy od głębszej analizy potrzeb użytkowników na samym wczesnym etapie. ---