fbpx

Skąd się biorą problemy z rekrutacją programistów?

Grzegorz Papaj , 9 grudnia 2019

W poprzednich artykułach pisaliśmy o tym, jak zwykle wygląda rekrutacja programistów oraz o najczęstszych problemach, jakich firma doświadcza w tym procesie. Nadszedł czas, aby przyjrzeć się źródłom trudności lub nieskuteczności w rekrutacji programistów.

rekrutacja

Częste problemy

Zacznijmy od przypomnienia, jakich problemów doświadczają najczęściej firmy zatrudniające programistów:

  1. Nie napływają oczekiwane CVki.
  2. Zgłaszają się tylko niedoświadczeni kandydaci.
  3. Kandydaci z udokumentowanym doświadczeniem nie mają umiejętności na odpowiednim poziomie.
  4. Kandydaci przechodzą rekrutację śpiewająco, by potem reprezentować niski poziom.

W dalszej części artykułu poruszymy przynajmniej niektóre z powodów, które prowadzą do takich sytuacji.


Rekruter nie jest programistą

Głównym problemem w opisanym w artykule Jak wygląda rekrutacja programistów? procesie jest podział obowiązków między dział IT i HR. Dział IT zrzuca problem dostarczenia właściwych ludzi na rekruterów. Ci oczywiście mogą mieć za sobą specjalistyczne szkolenia i bogate doświadczenie w werbunku, lecz jednak często zapomina się, że nie mogą samodzielnie przeprowadzić rzetelnej weryfikacji merytorycznej kandydatów, zwłaszcza gdy mowa o zatrudnieniu specjalisty o bardzo specyficznych kompetencjach technicznych.

Oczywiście nikt nie oczekuje od HR samodzielnego prowadzenia finalnej rozmowy kwalifikacyjnej z programistą i zwykle na tym etapie w proces włącza się dział IT. Rzecz w tym, że już podczas wczesnej selekcji CV mogą dać o sobie znać braki techniczne. Pracownik działu kadr nie zawsze może prawidłowo ocenić, które umiejętności z listy wymagań wobec kandydata są najważniejsze. Może także nie rozumieć specjalistycznej terminologii lub choćby nie znać branżowych synonimów. Przykładowo znane są sytuacje, gdy CV kandydata było odrzucane na wczesnym etapie, bo rekruter miał w wymaganiach znajomość Linuksa, a kandydat był ekspertem od Uniksa. I choć formalnie Linux nie jest Uniksem, to każdy specjalista wie, że w zdecydowanej większości sytuacji terminy te są dość bliskoznaczne. Niewiedza tego rodzaju może skutkować odrzuceniem wartościowego kandydata.

klasa w szkole

Doświadczenie to nie umiejętności

Sporym problemem każdej rekrutacji, zwłaszcza na wczesnych etapach selekcji, jest skupienie się na tych parametrach kandydata, których weryfikacja jest łatwa, a nie tych, które weryfikować należy. Świetnym przykładem może być wspomniane we wcześniejszych artykułach traktowanie lat doświadczenia na równi z umiejętnościami.

Być może bierze się to z myślenia w rodzaju: "Mamy w zespole koderów z trzyletnim doświadczeniem, którzy nie radzą sobie z problemem. Powinniśmy więc znaleźć seniora z pięcoletnim doświadczeniem". Niestety to nie zawsze działa. Czy kandydat z dziesięcioletnim doświadczeniem w Javie jest lepszy niż kandydat z rocznym stażem? Często tak. Być może nawet w większości przypadków. Ale czy zawsze? Zdecydowanie nie. Traktowanie stażu pracy jako estymatora umiejętności jest wygodne i pozwala na wczesnym etapie odsiać wielu słabszych kandydatów. Czy jednak przypadkiem nie tracimy przy tym wartościowych pracowników?

Oczywiście dopóki mamy nadmiar kandydatów, kryterium stażu jest ok. Gdy jednak liczba zgłoszeń nie jest imponująca, być może warto popatrzeć, czy wśród kandydatów niespełniających wymogów formalnych nie ma jakichś perełek.


Tytuły stanowisk wprowadzają w błąd

Skoro już jesteśmy przy stażu pracy, warto poświęcić chwilę na związaną z nim tytulaturę (w przypadku programistów zwykle junior, mid-level i senior developer). Istnieje bowiem pewne dość istotne zjawisko, a mianowicie o tym, że oficjalne stanowisko każdego pracownika jest jednym z elementów negocjacyjnych. Nierzadkie są sytuacje, w których pracownik zgadza się np. na mniejszą podwyżkę, a na osłodę dostaje "awans" tytularny. I choć nie musi on nic zmieniać w aktualnym miejscu pracy, to jednak pracownik wie, że "wyższy" tytuł może mieć znaczenie dla kolejnego pracodawcy. Dlatego do stanowisk zajmowanych przez kandydatów u poprzednich pracodawców należy patrzeć z pewną rezerwą.


Co nam mówi wykształcenie

Skoro już jesteśmy w temacie branżowych mitów, warto wspomnieć o wykształceniu. O pracownikach IT krążą najrozmaitsze legendy. Niejednokrotnie słyszy się, że w tej branży studia nie są potrzebne. Zwykle twierdzenia takie są popierane listą nazwisk milionerów z Doliny Krzemowej, którzy nie ukończyli studiów. Podobnymi argumentami posiłkują się także organizatorzy rozmaitych kursów programowania, którzy twierdzą, że u nich można stać się programistą w 3 miesiące. A dzieje się to dzięki temu, że kurs skupia się na umiejętnościach praktycznych, bez całego balastu teorii.

Z drugiej strony istnieje kilka wydziałów czy uczelni informatycznych, które uchodzą za prestiżowe i których absolwenci są cenieni na rynku pracy. Jak to więc jest z tym wykształceniem? Jest wymogiem czy zbędnym balastem?

Cóż, jak zwykle także i tu nie ma jednej prostej odpowiedzi. Branża informatyczna faktycznie może poszczycić się długoletnią tradycją wszelkiego rodzaju samouków, którzy wiele w tej dziedzinie osiągnęli. Należy jednak pamiętać, że spora część z nich miała również solidne wykształcenie, tylko w innej dziedzinie (jak matematyka, fizyka, kierunki inżynierskie). Kiedyś programowanie miało nieco inny wymiar, było w dużej mierze narzędziem naukowców. I było znacznie trudniejsze niż jest to obecnie.

Ukończenie prestiżowej uczelni nie gwarantuje wysokich umiejętności, a wielu zdolnych programistów nigdy nie kończy (lub nawet nie zaczyna) studiów. Nie wierzmy jednak, że trzymiesięczny kurs zrobi z laika eksperta. Podchodząc do tematu statystycznie, przeciętny koder po prestiżowej uczelni będzie znacznie lepszy od przeciętnego kodera po internetowym kursie. Ale i tu i tu są wyjątki.

Jakie to ma znaczenie z perspektywy rekrutacji? Ano takie, że ostateczną weryfikację powinny stanowić testy kompetencyjne.

audytorium

Sprawdzanie umiejętności jest trudne

Trzeba przyznać, że wiele firm ma świadomość przynajmniej części z opisanych powyżej problemów. Dlatego też stosują w swych procedurach rekrutacyjnych wszelkiej maści testy praktyczne. Zwykle działają one na zasadzie podobnej jak Codility. Programista loguje się do systemu i rozwiązuje online kilka zadań praktycznych, które są następnie weryfikowane na żywo przez program sprawdzający. Zwykle firma korzystająca z tego typu narzędzi może wybrać pomiędzy kilkoma językami programowania, a także dostarczyć własne zadania. Kandydat ma bardzo ograniczony czas na rozwiązanie, co ma zmniejszyć ryzyko, że będzie się posiłkował pomocą innych osób lub że będzie szukał rozwiązania w internecie.

Niestety praktyka pokazuje, że w przypadku popularnych platform testujących (i w przypadku popularnych zadań) rozwiązania dość szybko można znaleźć w internecie. Co więcej, niektóre firmy korzystają z gotowych zestawów zadań, więc rośnie szansa, że kandydat trafi na test, który już zna z innego postępowania rekrutacyjnego.

Innym argumentem przeciwników tego rodzaju rozwiązań jest fakt, że w gruncie rzeczy sprawdzają one dość podstawowe umiejętności programistyczne czy algorytmiczne, nie mówiąc nic o umiejętności poruszania się w rozbudowanym kodzie, wykorzystywania bibliotek czy znajomości bardziej złożonych koncepcji. Niemniej jednak stanowią one dobry wstępny filtr. Należy przy tym pamiętać, że zadania praktyczne są pewnym przybliżeniem rzeczywistych umiejętności. Bo wystarczy, że kandydat jest aktywny w szukaniu pracy, by wkrótce stał się ekspertem od testów.


Wartościowi nieprzebojowi

Na koniec chcemy poruszyć kwestię nieco zmitologizowaną. Stąd prosimy o zachowanie zdroworozsądkowego dystansu.

Warto podkreślić, że IT jest dość szczególną branżą. Częste w niej są dość specyficzne osoby, nierzadko posiadające zmniejszone umiejętności społeczne. Niekiedy również mają zaburzenia ze spektrum autyzmu. Oczywiście musimy podkreślić, że kwestia ta obrosła wieloma mitami i wbrew obiegowej opinii osoby z zespołem Aspergera są zdecydowaną mniejszością również wśród programistów. Faktem jest jednak, że nie bez powodu wielu programistów opisuje się jako geeków czy nerdów. Niektórzy z nich nie całkiem potrafią (lub wręcz świadomie nie chcą) żyć i zachowywać się tak, jak reszta społeczeństwa.

Kandydaci tego rodzaju mogą mieć spore trudności z przejście procedury rekrutacyjnej. Pierwszym problemem może być już CV, które może mieć niestandardową strukturę, być nieatrakcyjne graficznie lub podawać informacje dla laika niewiele mówiące. Ale nawet jeśli przejdą wstępną selekcję, to często źle wypadają na rozmowach kwalifikacyjnych. Nie prezentują się dobrze od strony tak zwanych umiejętności miękkich, ale i na części technicznej mogą zrobić niekoniecznie dobre wrażenie, np. wprost i bez żenady komentując niekompetencję rozmówcy.

Warto o takich "perełkach" pamiętać, bo jeśli mimo wszelkich przeszkód przejdą rekrutację i stworzy się dla nich w firmie i zespole przyjazne środowisko, mają szanse wykazać się nie tylko jako świetni programiści, lecz również jako oddani pracownicy.


Jak zatem rekrutować dobrze?

Oczywiście na to pytanie nie ma jednej prostej odpowiedzi. Niemniej jednak już niedługo opublikujemy kolejny artykuł, w którym wyjaśnimy, jak my sobie radzimy z rekrutacją wartościowych programistów.

pracownicy w konferencyjnej

1