Nadszedł czas próby i zweryfikowania naszych umiejętności. Proces rekrutacji programisty zwykle rozbity jest na 3-4 etapy. W zależności od danej firmy możemy spodziewać się następujących form sprawdzenia:
Test z wiedzy technicznej
Pojawia się często, zwykle jako jako jeden z pierwszych etapów rekrutacji. Jest to dla firm wygodna forma wstępnej selekcji kandydatów. Zazwyczaj pytania skupiają się wokół głównej technologii na dane stanowisko np. Java na stanowisko Junior Java Developer. Oprócz tego, można spodziewać się zagadnień z ogólnej wiedzy z programowania lub technologii pobocznych np. SQL, Spring. Czasem spotykane są też zagadki logiczne.
Test umiejętności językowych (a konkretnie języka angielskiego)
Prawie na pewno się pojawi. Czasem w formie testu, a czasem sprawdzany przy okazji wstępnej rozmowy telefonicznej bądź w jednym z dalszych etapów. Generalnie minimum to + – poziom B1.
Wstępna rozmowa telefoniczna (screening call)
Spotykane raczej na pierwszych etapach procesu rekrutacji. Jest to rozmowa telefoniczna mająca na celu ustalenie dopasowania do oferty tj. możliwości czasu, dostępność co do daty startu czy oczekiwane wynagrodzenie. Zwykle tego typu rozmowy przeprowadzają osoby nietechniczne. Czasami, przy okazji sprawdzany jest (pobieżnie) język angielski. Oprócz tego, to okazja dla kandydata żeby dowiedzieć się więcej o szczegółach oferty oraz poznać szczegóły dalszych etapów rekrutacji.
Coding assessment
Fragment kodu do napisania w formie mini zadań, czasami na platformie typu Codility. Zwykle występuje jako alternatywa do testu z wiedzy technicznej. Bywa, że jest to w ramach jednego etapu np. godzina przeznaczona na test, a potem druga godzina przeznaczona na coding assessment.
Zadanie do domu
Mała aplikacja do napisania w domu. Trochę rzadziej spotykane, dlatego że bywa to czasochłonne dla kandydata, a później muszą ocenić je developerzy. Niemniej jednak, jeśli spotkasz się z takim etapem rekrutacji, potraktuj to jako dobrą okazję do nauki, a być może – ciekawy projekt do portfolio. Oprócz tego – niezależnie od tego czy “przejdziesz” ten etap czy nie – dopytaj o feedback.
Rozmowa techniczna
Zwykle jako jeden z końcowych etapów. Czasami oparta na teście/zadaniu z poprzednich etapów, gdzie celem jest dopytanie o szczegóły oraz upewnienie się, że dana odpowiedź/rozwiązanie było świadome i mamy pojęcie o danej kwestii. Zwykle taką rozmowę przeprowadzają osoby, z którymi będziesz potencjalnie pracował w danej firmie. Można od razu zapytać ich o interesujące nas detale projektu czy sposoby pracy zespołu.
Jeżeli zupełnie nie znasz odpowiedzi na dane pytanie, to nie zmyślaj, tylko przyznaj, że tego nie wiesz. Z drugiej strony, jeśli pytanie jest bardziej otwarte albo masz jakąś zagadkę – nie poddawaj się tylko próbuj znaleźć odpowiedź. Na takich rozmowach sprawdzana jest nie tylko Twoja wiedza, ale również podejście do pracy/wyzwań. Programista, który rezygnuje po pierwszej próbie to bardzo zły znak. Bycie wytrwałym w dążeniu do znalezienia rozwiązania to podstawa pracy developera.
Rozmowa nietechniczna
Rozmowa z osobą z działu HR lub managerem zespołu. Czasami jest to wplecione albo we wstępną rozmowę telefoniczną albo połączone z rozmową techniczną. Czasami jest to finalny etap, kiedy zostałeś już technicznie sprawdzony i pozostaje upewnienie się czy pasujesz do kultury firmy/zespołu.
Test day
Spotykane raczej dość rzadko. Polega na spędzeniu co najmniej kilku godzin w biurze firmy, gdzie masz okazję sprawdzić się pod okiem zespołu programistów. Zazwyczaj celem jest napisanie jakiejś funkcjonalności lub mini aplikacji. Oprócz finalnego efektu Twojej pracy, firma może ocenić w jaki sposób się zachowujesz i pracujesz.
Podsumowanie
Wymienione powyżej etapy w trakcie procesu rekrutacji na programistę pojawiają się najczęściej. Pamiętaj, że niezależnie od etapu i powodzenia danego etapu, warto pytać o feedback. Dzięki takiej informacji zwrotnej będziesz bardziej świadomy gdzie masz braki oraz nad którym obszar powinieneś popracować.
Biorąc udział w procesach rekrutacyjnych, spisuj wszystko co zapamiętasz z testów, rozmów itp. Przyda się do analizy i dalszej nauki. Oprócz tego, być może pozwoli to na lepsze przygotowanie się pomiędzy poszczególnymi etapami.
Pamiętaj, aby zapisywać sobie (np. w Excelu) gdzie już zaaplikowałeś, do kiedy masz deadline na dany etap rekrutacji itp. Dzięki temu nic nie przegapisz, a dobra organizacja sprawi, że będziesz bardziej efektywny.
Na tym etapie to już kwestia Twojej wytrwałości i uczenia się na błędach – wraz z kolejnymi projektami będziesz coraz lepszy – i w końcu uda się znaleźć pierwszą pracę w roli programisty. Czasami potrzeba trochę szczęścia, ale pamiętaj że najwięcej zależy od Ciebie, a szczęściu trzeba pomóc.