Dołącz do czytelników
Brak wyników

Kierunek rozwój

26 września 2018

NR 6 (Wrzesień 2018)

Jak znaleźć najlepszych
Weryfikacja umiejętności technicznych kandydatów w IT

0 271

Bez wątpienia branża IT cieszy się coraz większym zainteresowaniem wśród osób wchodzących na rynek pracy oraz takich, które chcą zmienić swoją profesję. Świadczy o tym mnogość grup na Facebooku wspierających pierwsze kroki w kodowaniu, bootcampów, czyli szkół uczących programowania, czy też dedykowanych kursów online.

aciej Aniserowicz, autor bloga devstyle.pl oraz książki Zawód programista podkreśla, że „proces rekrutacji świadczy o firmie”. Jak w takim razie przygotować profesjonalny proces rekrutacyjny, z jednej strony nastawiony na ocenę kompetencji technicznych i miękkich kandydata, z drugiej natomiast na budowanie pozytywnych doświadczeń, czyli candidate experience? Jednym z najczęściej poszukiwanych zawodów w branży IT jest programista/programistka, dlatego dzisiaj skupimy się właśnie na procesie dla tej grupy.

Od czego zacząć?

Warto zadać sobie dwa pytania:

  • Czy jako rekruter posiadam wiedzę techniczną, która pozwoli mi zweryfikować wiedzę kandydatów?
  • Czy będę partnerem merytorycznym dla kandydatów, czyli rozmówcą mającym odpowiedni poziom wiedzy dla oczekujących konkretów programistów?

Przytoczę tu branżowy żart: „Java is to JavaScript as ham is to hamster”. Jeżeli zatem Twoja odpowiedź na powyższe pytania brzmi „nie” lub nie dostrzegasz różnicy między wspomnianą Javą a JavaScript, zaangażuj w proces rekrutacyjny osobę z wiedzą techniczną. Może to być programista lub lider zespołu, do którego szukasz nowego pracownika. Zapraszając do procesu kolegę/koleżankę z działu IT, nie zapomnij już na początku określić zakresu odpowiedzialności, co konkretnie należy do Twoich zadań jako rekrutera (ustalenie terminarza spotkań, umawianie kandydatów, weryfikacja telefoniczna itd.), a co do zadań osoby wspierającej z IT (przygotowanie zadania, weryfikacja telefoniczna wiedzy technicznej kandydata itd.). To nie tylko znajomość języków programowania, określenie poziomu doświadczenia (junior, mid, senior), lecz także zdefiniowanie niezbędnych kompetencji miękkich. Warto też zapytać naszego klienta zewnętrznego/wewnętrznego o produkt czy też projekty, przy których będzie pracował kandydat.
Mając powyższe informacje, stwórz optymalny proces pozwalający na weryfikację umiejętności i wiedzy kandydata na to konkretne stanowisko. Określ poszczególne etapy, a także osoby w nie zaangażowane. W Allegro proces rekrutacji programistów składa się z następujących etapów:

  • zadanie domowe,
  • spotkanie techniczne w firmie,
  • rozmowa z rekruterem i liderem.

Zastosowanie trzech etapów

Umożliwia to dogłębne sprawdzenie wiedzy kandydatów bez zbyt długiego rozłożenia procesu w czasie:

  1. W pierwszym etapie narzędziem jest zadanie domowe, którego celem jest zweryfikowanie praktycznych umiejętności kodowania kandydata.
  2. Po pozytywnej ocenie zadania przez inżyniera, kandydat zostaje zaproszony do kolejnego etapu. Jest nim spotkanie techniczne w firmie, podzielone na dwie części. Pierwsza to warsztat, w czasie którego kandydat rozmawia z osobami technicznymi m.in. o dobrych praktykach dotyczących języków programowania, frameworkach. Druga część spotkania technicznego poświęcona jest architekturze. Ocenie podlega tu umiejętność rozwiązywania problemów oraz patrzenia na serwis z różnych perspektyw: zarówno użytkownika, jak i programisty. Spotkania techniczne prowadzone są przez dwie różne osoby z obszaru IT, co wpływa na wielowymiarowość oceny.
  3. Po pozytywnej rekomendacji po etapie technicznym odbywa się ostatnie spotkanie z rekruterem oraz liderem, na którym poruszane są przede wszystkim aspekty miękkie, badane zazwyczaj za pomocą wywiadu behawioralnego. Zaangażowanie w proces tak wielu osób, zarówno z działu HR, jak i inżynierów, gwarantuje rzetelną ocenę. W czasie weryfikacji kandydatów na stanowiska programistów aplikacji mobilnych etap zadania programistycznego zastępowany jest telefoniczną rozmową techniczną. Etap ten przeprowadza osoba techniczna. Co prawda narzędziem jest tu wywiad, jednak pytania problemowe pozwalają na sprawdzenie wiedzy nie tylko ogólnej, lecz także praktycznej. Kolejne etapy pozostają bez zmian. 

O czym musisz pamiętać?

Tworząc proces rekrutacyjny, zastanów się, co chcesz konkretnie zweryfikować i jakie narzędzia będą miały najlepsze efekty. Budując proces rekrutacyjny, pamiętaj, żeby nie był on zbyt długi. Mnogość ofert na rynku oraz aktywność innych rekruterów sprawiają, że musisz działać dynamicznie. Jeżeli potrzebujesz inspiracji, rozeznaj się, jak inne firmy na rynku rekrutują specjalistów do branży IT – nie jest to trudne, pracodawcy chętnie dzielą się opisami procesów rekrutacyjnych, aby potencjalni kandydaci jeszcze przed zaaplikowaniem wiedzieli, czego mogą się spodziewać. Warto odwiedzić strony takich firm, jak Allegro (allegro.tech/jobs), Netguru (netguru.co/career), Britenet (kariera.britenet.com.pl), Sii (kariera.sii.pl/proces-rekrutacyjny) i wiele innych oraz blogi programistów, np. Devstyle.pl, czy portale branżowe, jak nofluffjobs.com/blog. 
Najczęściej pojawiające się etapy i narzędzia w procesach IT to:

  • wywiad telefoniczny,
  • zadanie domowe,
  • spotkanie techniczne w firmie,
  • testy wiedzy online,
  • spotkanie z rekruterem i sprawdzenie kompetencji miękkich.

Wykorzystując wywiad telefoniczny, możemy zweryfikować wiedzę ogólną o danym języku programowania. Ten etap możesz przeprowadzić Ty jako rekruter. Pamiętaj jednak, żeby uzupełnić wiedzę z zakresu pytań zadawanych kandydatom. Po pierwsze, aby zweryfikować ich wiedzę. Po drugie, być partnerem merytorycznym dla kandydata. Ty jako rekruter, ale przede wszystkim rozmówca, również nie będziesz czuł się komfortowo, słysząc odpowiedzi kandydata i myśląc „Ale o co chodzi?”. Rekrutując programistę Javy, możesz zapytać m.in., czym jest framework Spring, poprosić o wyjaśnienie procesu Garbage Collection, omówienie sposobu działania HashMap itd. Z drugiej strony etap rozmowy telefonicznej możesz wykorzystać również nie tyle do sprawdzania konkretnej wiedzy, co doświadczeń kandydata, pytając np. o dotychczasowe zrealizowane projekty, wykorzystywane w nich języki programowania, biblioteki czy też zakres wiedzy, którą chciałby rozwijać w nowej pracy.

Jakich błędów unikać?

Często do tego etapu angażuje się osoby wspierające rekrutację ze strony zespołów IT. W takim przypadku rola rekrutera polega na koordynowaniu procesu, zbieraniu feedbacku technicznego i dalszych rekomendacji lub ich braku dla dalszego uczestnictwa kandydata w procesie. Dzięki temu już na początku możemy określić, czy kandydat posiada bazową wiedzę do dalszych rozmów, a tym samym zaoszczędzić czas na kolejne etapy. Nie zadawaj pytań o kwestie teoretyczne, które były niezbędne do zdania przedmiotu na studiach, a nie są (zazwyczaj) wykorzystywane w praktyce. Bądź partnerem do rozmowy i wiedz, o co pytasz. 

Zadanie domowe

To kolejne narzędzie wykorzystywane do weryfikacji umiejętności bardziej praktycznych. Zadanie domowe najczęściej polega na przygotowaniu rozwiązania przez kandydata w postaci stworzenia kodu. Po pierwsze, treść zadania domowego powinna być odpowiedzią na potrzebę sprawdzenia konkretnych umiejętności i wiedzy technicznej kandydata. Po drugie, warto jest przygotować zadanie, którego zakres/tematyka będzie jak najbardziej zbliżony do tego, czym kandydat miałby zajmować się w firmie. Jeżeli kandydat uzna zadanie za ciekawe i rozwojowe, może go to zachęcić do Twojej oferty pracy. Do przygotowania treści zadania zaangażuj lidera technicznego lub innych programistów z Twojej firmy.

Jak powinno brzmieć przykładowe zadanie?

Nie istnieje uniwersalne zadanie, ale istnieją uniwersalne punkty, które powinny pojawić się jako kryteria oceny.
Zadanie może polegać np. na napisaniu przez kandydata konkretnej usługi, która będzie w określony sposób działała. Rozwiązanie kandydat powinien zamieścić w repozytorium, np. na GitHub, do którego będzie miał dostęp programista z firmy. Zadanie ma na celu sprawdzenie nie tylko umiejętności kodowania, lecz także postawy kandydata od początku otrzymania przez niego zadania, np. czy dopytuje, jeżeli zakres zadania nie jest dla niego jasny.

Jakie zastosować kryteria oceny?

  • Czy przygotowana przez kandydata aplikacja działa.
  • Ocenie powinna podlegać też samodzielność przygotowania przez kandydata rozwiązania zadania.
  • Zadanie powinno być tak skonstruowane, aby było podstawą do dalszych rozmów technicznych, np. podczas rozmowy w siedzibie firmy.
  • Zwróć również uwagę na czas, który będzie potrzebny kandydatowi na wykonanie zadania. Jeżeli będzie ono zbyt pracochłonne, możesz nie otrzymywać rozwiązań (po prostu Twój kandydat-programista dojdzie do wniosku, że nie opłaca mu się na nie poświęcać czasu) lub otrzymasz pytanie o wynagrodzenie za przygotowanie zadania.

Dobrym źródłem największych zastrzeżeń co do otrzymywanych zadań w procesach rekrutacyjnych są fora programistyczne. „Ja przygotuję zadanie, a wy w darmowy sposób będziecie mieli gotową część aplikacji” – to dość częsta opinia w sytuacji, kiedy zadanie wydaje się kandydatowi zbyt pracochłonne oraz zbyt zaawansowane.

Spotkanie z programistami/liderem technicznym 

Pozytywnie ocenione rozmowa telefoniczna lub zadanie powinny być podstawą do zaproszenia kandydata na spotkanie w siedzibie firmy. To etap, który ma nie tylko przynieść informacje o wiedzy kandydata, lecz także zachęcić go do wybrania właśnie Twojej oferty. Co jednak w sytuacji, kiedy nie mamy możliwości uzyskania wsparcia osób technicznych we wstępnych etapach? Wtedy pomocne mogą okazać się gotowe testy online dostępne na platformach wspierających rekrutację programistów. Do najbardziej znanych należą takie platformy, jak Codility, HackerRank czy Devskiller. Jako rekruter ustalasz język programowania, którego znajomość chcesz zweryfikować, oraz poziom trudności testu. Kandydat otrzymuje w wiadomości e-mail link do testu. Po zalogowaniu się w określonym czasie musi odpowiedzieć na pytanie teoretyczne oraz wykonać praktyczne zadania. Po wypełnieniu przez kandydata testu otrzymasz informację o uzyskanym wyniku, bez konieczności angażowania w ocenę osób technicznych z Twojej firmy. Zanim jednak zdecydujesz się na to rozwiązanie, warto poznać perspektywę programistów, którzy dość często dzielą się w sieci opinią, że gotowe testy nie do końca badają praktyczną umiejęt...

Pozostałe 70% treści dostępne jest tylko dla Prenumeratorów.

Co zyskasz, kupując prenumeratę?
  • 6 wydań magazynu "HR Business Partner"
  • Dostęp do wszystkich archiwalnych artykułów w wersji online
  • Możliwość pobrania materiałów dodatkowych
  • ...i wiele więcej!
Sprawdź

Przypisy