niedziela, 31 sierpnia 2014

Śmierć CV jako pogłoska przedwczesna

"CV nie są już w rekrutacji programistów potrzebne! Nigdy nie dawały jakiejkolwiek wiedzy o tym, czy ktoś jest dobrym programistą czy nie, więc teraz - jeśli jest narzędzie do sprawdzenia tego - los CV jest tym bardziej przesądzony. Jeśli będą dawać jakąkolwiek rekrutacyjną wartość, to chyba tylko jako miejsce do umieszczenia danych kontaktowych kandydata." Tak mniej więcej brzmią komunikaty i artykuły na temat HackerRank For Work, narzędzia mającego zrewolucjonizować sposób, w jaki rekrutuje się programistów. Narzędzia, które - jak twierdzą niektórzy - wyprze CV, a nawet rozmowy rekrutacyjne...

Pracownicy HackerRank. Bywają nazywani The CV-killers. (foto: HackerRank)

Sam HackerRank to założona przez start-up z Bangalore w Indiach i Palo Alto w Kaliforni platforma on-line'owa do rozwiązywania zadań programistycznych (w różnych językach i o różnym charakterze), w konwencji współzawodnictwa (są challenge'e i contesty), z celem uzyskiwania jak najwyższego miejsca w rankingu. (Po zalogowaniu się i zrobieniu przykładowego, łatwego zadania w Pythonie, otrzymałem w rankingu miejsce nr 55575. Moje początki tu więc równie trudne jak w serwisie Beautiful People).

HackerRank For Work to już - bazująca na HackerRank - komercyjna usługa dla firm rekrutujących programistów, które chcą to robić szybciej i skuteczniej, korzystając przy tym z większej puli potencjalnych (zarejestrowanych w serwisie) kandydatów. Jest ich podobno pół miliona, a z HRFW korzystają takie giganty jak Facebook, VMWare, Yahoo! czy Evernote. (Nawiasem mówiąc, ciekawi mnie to chwalenie się znanymi klientami-markami jako rzekomy dowód dobrego przez nich rekrutowania. Sądząc po tym, jak Evernote ostatnio synchronizuje mi notatki, nie dałbym głowy za najwyższe kompetencje ich techników).

Dlaczego rekrutacja z wykorzystaniem HackerRank ma być lepsza niż ta z wykorzystaniem CV i rozmów rekrutacyjnych? Gdyż, zdaniem szefów firmy, sprawdzane są w niej - poprzez zadania, które rozwiązują rekrutowani - konkretne umiejętności i autentyczny, programistyczny talent. Wszystko jest zobiektywizowane i mierzalne, za podjętymi więc decyzjami rekrutacyjnymi stoją rankingi i liczby, a nie ładne CV, fajna rozmowa czy generalnie "widzimisię" rekrutera. 

"Dobre resume nie koreluje bezpośrednio z byciem dobrym programistą i vice versa" - twierdzi CEO i współzałożyciel HackerRank, Vivek Ravisankar. "Nie ma znaczenia, jaką skończyłeś szkołę lub gdzie pracowałeś. To, co ma znaczenie, to umiejętności".

Poza ostatnim zdaniem, nie mogę się zgodzić z Panem Ravisankarem. Przynajmniej nie w pełni. Nie wiem, czy dobre resume nie koreluje bezpośrednio z byciem dobrym programistą. Z samymi kompetencjami stricte programistycznymi być może (ale to wielkie być może) nie. Jednak CV potrafi powiedzieć dużo o kandydacie. CV nieprzejrzyste, niezrozumiałe, z błędami jest dla mnie zawsze złą wróżbą. Może ono źle świadczyć nie tylko o podejściu kandydata (przyszłego pracownika!) do obowiązków; może też świadczyć o niedostatkach umiejętności. Czy ktoś, kto nie potrafi na dwóch stronach zrozumiale i przejrzyście przedstawić swojej kariery i kompetencji, będzie w stanie pisać przejrzysty, liczący tysiące linii kod?

Ze szkołami, które się ukończyło czy miejscami, w których się pracowało szef HackerRank też ma racji dużo mniej niż chciałby. Otóż są uczelnie lepsze i gorsze oraz są firmy, gdzie programuje się lepiej i takie, gdzie programuje się gorzej. Zgoda, są talenty programistyczne, które "bez szkoły" i "bez firmy" świetnie poradzą sobie w wielu miejscach, jednak jeśli z poziomu pojedynczych, spektakularnych wyjątków przeniesiemy się na poziom zbiorowości i statystyki, to jakość odebranego wykształcenia i jakość miejsc, w których zdobywało się pierwsze komercyjne szlify programistyczne, mają znaczenie.

Entuzjazm zwolenników narzędzi do ujednoliconego i wystandaryzowanego testowania programistów bierze się z założenia, że - cytując podlinkowany wyżej artykuł z qz.com - "obiektywne umiejętności są całkiem łatwe do zmierzenia" (objective skill is pretty easy to measure). Nie są, nawet w programowaniu. Różnorodność (co do typu i trudności) problemów programistycznych, z jakimi będzie spotykał się w swojej pracy developer, powoduje, że trudno jest stworzyć narzędzie, które obiektywnie i precyzyjnie określi, na ile dany kandydat jest dobrym kandydatem akurat na tym stanowisku.

Oczywiście, zawsze lepiej mieć u siebie osoby lepiej wypadające w konkursach programistycznych niż radzące sobie w nich gorzej. Kluczem jest jednak zrozumienie, że wysoka pozycja w nich jedynie uprawdopadabnia (a nie upewnia), że osoba taka będzie u nas dobrym developerem i - nie mniej ważne - dobrym  pracownikiem. Narzędzia takie jak HackerRank For Work są w badaniu kompetencji programistów świetnym d o d a t k i e m, a nie zastępstwem CV, rozmowy rekrutacyjnej czy referencji

Na stronie głównej HRFW wita nas komunikat "Resumes cannot tell if someone can code." To prawda. Ale tak samo HRFW nie powie wykorzystującym je firmom, czy kandydat umie się komunikować, czy będzie dotrzymywał deadline'ów, czy nie rzuci papierami po tygodniu pracy, bo zupełnie nie wpasował się w zespół. "Pogłoski o naszej śmierci są mocno przesadzone" - mogliby powiedzieć CV, rozmowa rekrutacyjna i referencje. 

_______
for.: crowinfodesign.com

1 komentarz:

  1. Doskonale. Dokładnie takie same mam przemyślenia w tym temacie. Zwłaszcza, że większość tego typu stron czy konkursów weryfikuje umiejętność rozwiązywania problemów typu akademickiego - zazwyczaj jakieś zagadki z grafami, sortowaniem zbiorów itp. A tymczasem w prawdziwym programistycznym życiu te umiejętności są niemal niewykorzystywane - zwłaszcza gdy większość rzeczy robi się pod Web, z wykorzystaniem gotowych bibliotek, baz danych czy środowisk.
    Co z tego, że potrafię napisać superwydajny algorytm wyszukujący lub porządkujący zbiór elementów, gdy w praktyce i tak w 99% sytuacji będę albo przetwarzał cały otrzymany zbiór albo każę silnikowi bazy odnaleźć potrzebny mi element? Tu niezbędna jest wiedza o optymalizacji baz, zapytań,; świadomość jak korzystać ze wzorców projektowych, buforów danych itd - a nie wiedza o algorytmie, z którego korzysta sama baza.
    Do tego - ja sobie nie wyobrażam by zatrudnić kogoś bez przynajmniej zdalnej rozmowy. Co z tego, że jest geniuszem jeśli jest społecznie wycofany, ponury i niekontaktowy. Albo co gorsza - gdy jest zwykłym burakiem?

    OdpowiedzUsuń