Procesy rekrutacyjne w branży IT nie należą do najłatwiejszych. Często są wieloetapowe, a każdy z etapów skupia się na werfikacji konkretnych umiejętności kandydata. Najbardziej praktycznym jest werfikacja umiejętności technicznych. Etap ten ma wiele wariantów, a jeden z nich - live coding - spędza sen z powiek niejednego kandydata. Dlaczego tak bardzo nie chcemy pisaćkodu gdy inni patrzą?
To nie jest naturalne środowisko pracy programisty
Gdyby przywołać stereotyp to opisalibyśmy programistę jako osobę zamieszkującą najbardziej zaciemniony pokój i zanurzoną w ekranie bez kontaktu z światem realnym. Oczywiście to tylko stereotyp jednak gdyby się nad tym zastanowić to faktycznie programista przez większość czasu swojej pracy skupiony jest na swoim ekranie realizując podjęte zadania. W większości sytuacji pracuje w pojedynkę. Nawet będąc członkiem zespołu zdany jest na swoje umiejętności przy implementowaniu funkcjonalności. Nikt nie patrzy mu na ręce i nie werfikuje jego pracy w czasie rzeczywistym. Live coding podczas rozmowy rekrutacyjnej zaburza jego znajome środowisko i zmusza go do pracy będąc wystawionym do oceny przez innych. W takich warunkach często pojawia się silny stres, a ten z kolei zaciemnia naszą pamięć oraz umiejętności logicznego myślenia.
Po ludzku nie lubimy być oceniani
Programista jest nowoczesnym rzemieślnikiem. Tworzy kod w sposób spójny z własnymi założeniami oraz przemyśleniami. Efektem jest produkt który powstał w wyniku jego pracy. Jeśli wykluczymy celowe tworzenie oprogramowania niskiej jakości to niemal za każdym razem efekty będą zakrawać o idealne rozwiązanie (oczywiście w obrębie posiadanych umiejętności). Pisząc bardziej wprost - programista stara się oddawać funkcjonalności jak najlepszej jakości ponieważ chce być dumny ze swojej pracy. Idealne rozwiązanie wymaga czasu oraz skupienia którego brak podczas live coding’u. Niekiedy dojście do tego niego wymaga wielu poprawek oraz przejścia przez niedoskonałości. Podczas procesu rekrutacyjnego oczekiwanym jest aby rozwiązanie było napisane szybko i miało zadowalającą rekruterów jakość. Oczywiście musi również działać zgodnie z założeniami. To ponownie nie jest sytuacja komfortowa i zaburza znane schematy pracy.
Jak zatem poradzić sobie gdy natrafimy na live coding?
Chociaż może wydawać się to abstrakcyjne, kluczem do sukcesu jest wyobrażenie sobie, że rekruterzy techniczni to nasi partnerzy w tworzeniu kodu. Krócej - należy wyobrazić sobie, że jesteśmy na sesji pair programming. Rekruterzy techniczni nie są tylko po to aby ocenić rezultat naszej pracy. W większości przypadków oczekują dialogu. Same rozwiązanie zadanego problemu niewiele powie im o tym jakim doświadczeniem dysponujemy. To właśnie dlatego podczas live coding’u pojawiają się pytania ze strony rekruterów. Chcą dopełnić dodatkowymi informacjami nasz profil kandydata.
Pozycja otwarta na dialog daje nam sporo benefitów. Zadając trafne pytania możemy uzyskać podpowiedzi jak rozwiązać zadanie. Oczywiście nie wprost. Warto również komentować co dzieje się na ekranie i nie krępować się przed dorzucaniem nawiązań do zrealizowanych wcześniej projektów. Dialog pozwoli również rekruterom reagować, jeśli nasz tok myślenia będzie odbiegał od rozwiązania. Wówczas uzyskamy wskazówkę w którym kierunku powinniśmy zmierzać.
Niestety wielu kandydatów nie korzysta z obecności innych osób technicznych. Zatracają się w zadaniu, a gdy coś nie pójdzie zgodnie z ich planem, zostają sparaliżowani przez narastający stres, a ten prowadzi do zaciemnienia logicznego myślenia. Rekruter techniczny to nasz partner podczas sesji live coding’u. Współpracujmy z nim.
Podsumowanie
Live coding bywa straszny gdyż zaburza naturalne środowisko pracy programisty. Jednocześnie wielu kandydatów widzi w rekruterach tylko osoby oceniające, zapominając, że ma przed sobą osoby o podobnych zainteresowaniach i kompetencjach które tylko czekają na wartościowy dialog. Poprawnie ukończone zadanie podczas sesji live coding’u wcale nie oznacza sukcesu w etapie technicznym. Ważniejszym od niego jest zaprezentowanie rekruterowi naszego sposobu myślenia oraz umiejętności pracy z kodem. Tego z kolei nie pokażemy bez rozmowy.
Zachęcam do zmiany nastawienia do tego wariantu weryfikacji technicznej. Pozytywne podejście do zadania oraz otwarta postawa daje nam wiele benfitów które mogą ułatwić nam ukończenie etapu z pozytywnym wynikiem.
Życzę Wam samych sukcesów!







