Rekrutacja programistów przy pomocy Geektastic

Tym razem artykuł pozbawiony technicznego „mięska”, a skierowany bardziej do rekruterów IT, managerów i wszystkich tych, którzy uczestniczą w procesie pozyskiwania nowych programistów do swoich firm. Na początek proponuję odpowiedzieć sobie na kilka pytań:

  • Czy stosowany przez Ciebie sposób weryfikacji umiejętności kandydatów jest wydajny?
  • Ile czasu poświęcane jest na sprawdzenie ich wiedzy technicznej?
  • Czy istnieje prawdopodobieństwo, że dobrzy kandydaci zostaną odrzuceni w procesie, a ci o mniejszych umiejętnościach przejdą do kolejnego etapu? Jak duże ono jest?
  • Czy weryfikacja ta jest przyjazna dla kandydatów? Stresująca dla nich?

Jeśli zastanawiając się nad odpowiedziami, odnosisz wrażenie, że rekrutacja programistów nie jest w Twojej firmie idealnym procesem i warto byłoby go udoskonalić, to czytaj dalej – możliwe, że narzędzie, które za chwilę zaprezentuję, okaże się idealnie trafiać w Twoje potrzeby!

Platformy do automatycznej oceny umiejętności

Być może korzystasz z platform, pozwalających na zautomatyzowaną ocenę umiejętności technicznych kandydatów. Zazwyczaj polegają one na tym, że programista rozwiązuje zadanie (lub zadania), implementując odpowiedni algorytm. Następnie, na podstawie zaprogramowanych wcześniej testów, stworzony przez kandydata kod jest automatycznie oceniany. Oznacza to, że najwięcej punktów otrzyma program, który zwraca wyniki jak najbardziej zbieżne z oczekiwanymi.

Geektastic to plaforma do weryfikacji umiejętności programistów, w której istotną rolę odgrywa człowiek

Ale czy taki sposób rzeczywiście pozwala wyłonić najlepszych? Programista powinien tworzyć nie tylko działający kod, ale również taki, który jest czytelny (zrozumiały dla innych członków zespołu deweloperskiego), zgodny z dobrymi praktykami, łatwy w testowaniu i nie sprawiający problemów przy dalszym rozwoju. Czy wszystkie te elementy są właściwie oceniane przez platformy automatycznej weryfikacji umiejętności?

Wyobraźmy sobie trzech kandydatów:

  • Pierwszy kandydat implementuje algorytm prawidłowo – program zwraca właściwe wyniki. Jego kod jest jednak wybitnie nieczytelny i prawdopodobnie żaden z programistów w poważnej firmie nie dopuścił by go na produkcję.
  • Drugi kandydat tworzy program, który w jednym z kilku przypadków zwraca błędne wyniki. Jakość kodu stoi za to na bardzo wysokim poziomie
  • Trzeci kandydat dostarcza aplikację, generującą rezultaty, które w ogóle nie pokrywają się z oczekiwanymi. Wygląda na to, że jedno z wymagań, zostało przez niego źle zrozumiane, jednak tłumaczy on swoje podejście oraz uzasadnia podjęte wybory architektoniczne i biznesowe w załączonej dokumentacji. Kod programu jest jakościowo powyżej przeciętnej.

Jeśli będziemy chcieli zakwalifikować do kolejnego etapu dwóch kandydatów, to których wskaże system automatycznej oceny? Zapewne pierwszego oraz drugiego. Ja jednak, jako programista, zdecydowanie wolałbym pracować z drugim lub trzecim.

Nie algorytm, lecz człowiek

Jednym z rozwiązań przedstawionego tu problemu może być zaangażowanie człowieka w proces wstępnej weryfikacji umiejętności kandydatów. Ale z racji, że na ogół chodzi tu właśnie o wstępne sprawdzenie umiejętności, czyli etap, kiedy liczba kandydatów jest dość duża, to realizacja tego zadania wewnątrz własnej firmy niekoniecznie będzie najlepszym pomysłem.

Geektastic zapewnia wieloaspektową ocenę umiejętności kandydata

Na szczęście istnieje platforma Geektastic, która pozwala na oddelegowanie procesu sprawdzania umiejętności programistów, zapewniając przy tym wiele zalet, których brak automatycznym systemom weryfikacji:

  • Kod oceniany jest przez innego programistę (który został wcześniej sprawdzony, zarówno pod kątem skilli technicznych, jak i umiejętności dokonywania code review), a nie przez oprogramowanie  – dzięki temu w ocenie kandydata uwzględnione zostają wszystkie te aspekty, które system automatycznej ewaluacji może pominąć.
  • Zadania do wykonania odzwierciedlają typowe problemy biznesowe, których rozwiązania implementują programiści w większości firm. Sprawdzane są np. umiejętności związane z rozumieniem (czasami niejednoznacznych) wymagań projektowych, a nie zdolność pisania abstrakcyjnych algorytmów.
  • Proces jest przyjazny dla kandydata, który wynosi z niego nie tylko pozytywne wrażenia z rekrutacji do Twojej firmy, ale często też realny i wartościowy feedback techniczny dotyczący tworzonego przez siebie kodu.

Doświadczenie kandydata

Jako programista zdecydowanie nie jestem zwolennikiem rekrutacji przy pomocy zadań, w których istotną rolę odgrywa szybkość ich rozwiązania. Wielki, tykający zegar, nieubłaganie odliczający każdą sekundę nierzadko sprawia, że kandydat, czując presję czasową, nie będzie w stanie właściwie zaprezentować pełni swoich umiejętności.

Pisanie kodu na czas bywa stresujące, dlatego rekrutacja przy pomocy Geektastic opiera się na odmiennych zasadach. Owszem, limit czasowy istnieje, ale wynosi on zdecydowanie więcej niż czas potrzebny na zaprojektowanie i implementację programu. Mowa tu o projektach, których wykonanie zajmuje średnio około 3 godzin, a dozwolony czas jest równy jednej dobie. To zaś oznacza brak presji i pozwolenie programiście na takie dopieszczenie kodu, jakie tylko sam uzna za stosowne.

Komentarze w kodzie dodanym przez kandydata często są dla niego cenną pomocą na drodze rozwoju zawodowego.

Drugim istotnym wyróżnikiem oceny kodu w Geektastic jest informacja zwrotna kierowana do dwóch osób:

  • rekrutera  – formułowana w sposób abstrahujący od szczegółów technicznych i skupiająca się na prostej i jasnej ocenie przesłanego rozwiązania pod różnymi aspektami. Zawiera również ocenę punktową w skali 1-5 w kilku kategoriach
  • programisty  – osoba przeglądająca rozwiązanie dodaje swoje komentarze – zarówno pozytywne, jak i negatywne – do konkretnych linijek kodu, zwracając uwagę na kwestie związane z architekturą programu, jakością kodu, uwzględnieniem wymagań itd.

Oczywiście oba rodzaje ocen widoczne są dla obu osób, wiec w razie wątpliwości rekruter z wiedzą techniczną sam może rzucić okiem na dostarczony przez kandydata kod i to, jak został on skomentowany przez reviewera.

Sprawdź sam!

To, co opisałem w tym artykule, to tylko część możliwości platformy Geektastic. Część, w którą osobiście jestem zaangażowany jako code reviewer i której jakość mogę osobiście zagwarantować. Jeżeli chcesz dowiedzieć się więcej o funkcjonalnościach Geektastic, zapraszam Cię na oficjalną stronę.

Jeśli natomiast jesteś już blisko decyzji, by dać szansę platformie Geektastic, to zachęcam do skorzystania z mojego linku polecającego, dzięki któremu mi wpadnie trochę grosza, a Ty otrzymasz 50% zniżki przez pierwsze 3 miesiące korzystania z usługi -> ZAREJESTRUJ SIĘ.

Będę też wdzięczny jeśli podzielisz się swoją opinią na temat procesu rekrutacji programistów przy pomocy zewnętrznych platform lub opiszesz swoje doświadczenia z nimi związane. Może są jeszcze jakieś inne problemy, których nie rozwiązuje nawet Geektastic?

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *