Jak wygląda rekrutacja programistów?
Grzegorz Papaj , 15 października 2019
Rekrutacja programistów potrafi być zmorą działu HR. Opinie o dostępnych na rynku pracy kandydatach oscylują między "rozpieszczonymi specjalistami" a "niekompetentnymi juniorami bez doświadczenia". Jak to właściwie z tymi programistami jest? I czy da się znaleźć właściwych programistów na rynku pracy? Niniejszy tekst otwiera cykl artykułów poświęconych rekrutacji programistów. Zacznijmy od tego, jak na ogół wygląda proces rekrutacji programisty.
Skąd się biorą ogłoszenia o pracę?
Postawmy się na chwilę na miejscu typowego rekrutera lub pracownika działu kadr, któremu powierzono zadanie znalezienia programisty. I to nie byle jakiego programisty, ale speca w pewnej konkretnej dziedzinie. Zazwyczaj najpierw musimy zadać serię pytań, mających ułatwić nam znalezienie kandydata. A wszystko po to, by w pierwszym rzędzie wiedzieć, co wpisać w ogłoszeniu, które zamieścimy na stronie firmowej lub w serwisie pośrednictwa pracy. Bądź też temu, by mieć listę punktów do odhaczenia, szukając kandydatów za pośrednictwem bazy lub portalu społecznościowego. Na tym etapie szef IT lub inna techniczna osoba zazwyczaj określa, że idealny kandydat powinien znać... I tu pada długa lista języków programowania, frameworków, technologii, metodyk i narzędzi wspierających. O części z nich być może nawet w ogóle wcześniej nie słyszeliśmy. Inne owszem znamy, ale tylko z nazwy. Ale nie można mieć o to do nas pretensji - w końcu nie na tym polega nasza praca. A zajmujemy się zatrudnianiem nie tylko programistów. Nie możemy się znać na wszystkim.
Jeśli mamy informację, że rekrutacja odbywa się na stanowisko specjalistyczne lub kierownicze, istotne staje się by kandydat nie tylko "znał" daną technologię, lecz także by był w niej po ludzku mówiąc "dobry". Jest to zawsze aspekt bardzo istotny. W końcu pewnie zdarzyło się nam zatrudnić już kogoś, kto nie spełniał oczekiwań. Niestety na etapie zbierania CV nie da się sprawdzić umiejętności. W praktyce pozostaje nam jedynie ich przybliżanie poprzez zbadanie "doświadczenia". Czyli prześledzenie, ile lat i w jakich projektach kandydat pracował z daną technologią.
Stąd ostatecznie nasza checklista w ogłoszeniu o pracę zawiera charakterystyczne wymagania w postaci "przynajmniej X lat doświadczenia w technologii ABC". Jak dobrze pójdzie, po zamieszczeniu ogłoszenia zaczynają spływać CV.
Proces rekrutacyjny
W zamierzeniu ogłoszenie o pracę powinno być pierwszym filtrem. Na podstawie jego treści potencjalny kandydat powinien dokonać autooceny i w przypadku pozytywnej weryfikacji złożyć aplikację. Jak jednak wiadomo, w nie zawsze to tak działa. Wielu kandydatów wysyła zgłoszenia mimo braku spełnienia kryteriów minimalnych. A jak się później okazuje, nierzadkie są także sytuacje "podkolorowywania" CV. Ale o tym za chwilę.
Selekcja CV
Naszym (jako rekrutera) zadaniem jest teraz przesianie wszystkich zgłoszeń i sprawdzenie ich pod względem spełniania przez kandydatów minimum wymogów formalnych. W praktyce oznacza to, że upewniamy się, że kandydat wymienił w CV wszystkie niezbędne technologie i że udokumentował odpowiednio długie doświadczenie w wykorzystujących je projektach. Oczywiście bierzemy pod uwagę także inne czynniki, takie jak np. doświadczenie z branży naszej firmy, interesujące projekty itp. Ale duże znaczenie ma również nasze nie do końca dające się ubrać w formalne ramy wyczucie i doświadczenie. Na koniec powstaje lista kandydatów do dalszej weryfikacji, czyli zwykle do pierwszego spotkania.
Przed pierwszym spotkaniem (etap opcjonalny)
Jeśli prowadzimy rekrutację w firmie, w której zapotrzebowanie na specjalistów IT jest stałe, czasem mamy możliwość dodatkowej weryfikacji umiejętności programisty jeszcze przed pierwszym spotkaniem. Wiele firm korzysta z dedykowanych narzędzi online do sprawdzania umiejętności programistycznych (jak np. Codility). Niestety platformy tego typu sprawdzają tylko określone technologie i jedynie niewielki wycinek potrzebnych programiście umiejętności, lecz mimo tego stanowią użyteczne narzędzie, skutecznie dosiewając większość ludzi, którzy podkolorowali swoje CV.
Czasem weryfikacja ma miejsce również na pierwszym spotkaniu, na którym pojawiają się różnego rodzaju testy kompetencyjne, zarówno w wersji elektronicznej jak też na papierze. Testy te mają jeden cel: zmniejszyć liczbę osób, z którymi osobiście ma porozmawiać kierownik projektu czy szef IT (którego zadania powinny skupiać się na wytwarzaniu lub utrzymywaniu oprogramowania, nie na rekrutacji).
Spotkanie
Spotkanie z potencjalnym kandydatem zazwyczaj kończy rekrutację. Oczywiście bywają różnego rodzaju odstępstwa od tego modelu. Czasem spotkania są dwa (z HR i przyszłym przełożonym), czasem pierwszą część spotkania stanowi test umiejętności (w formie elektronicznej lub papierowej). Niemniej jednak ostatecznie dochodzi do rozmowy z docelowym zwierzchnikiem.
Jest to etap, na którym w proces rekrutacji aktywnie włącza się dział techniczny. Zwykle oczekiwania są takie, że dostarczyliśmy przynajmniej kilku kandydatów o poszukiwanych kwalifikacjach, spośród których manager wybierze sobie tego, z którym będzie mu się dobrze pracować. Rozmowa podczas spotkania krąży wokół doświadczenia kandydata, czasem wchodząc w szczegóły techniczne kluczowych technologii. Zahacza o zrealizowane projekty, padają pytania o opinie i osobiste preferencje. Jeśli wszystko idzie zgodnie z planem, etap ten kończy się zatrudnieniem odpowiedniego kandydata. Może się jednak zdarzyć, że sprawy nie idą tak dobrze.
Coś może pójść źle?
Niestety powyższy model nie zawsze chce działać. Problemy mogą pojawić się na każdym etapie. Opowiemy o tym w kolejnym artykule z cyklu: Najczęstsze problemy z rekrutacją programistów