Zarządzanie projektami, zespołem i analiza IT

Zarządzanie projektami

Rekrutuj, nie zbankrutuj: 3 rzeczy, które musisz wiedzieć zanim zatrudnisz programistę

Od pewnego czasu intensywnie pracuję nad rozwojem Fresh Apps. Wiąże się to m.in. z zatrudnianiem nowych developerów. Aktualnie cały proces rekrutacyjny przeprowadzam sam – radząc się jedynie swoich developerów co do jakości kodu zadania testowego. W związku z tym chcę się z wami podzielić moimi przemyśleniami na temat rekrutacji z perspektywy osoby siedzącej „z drugiej strony stołu”.


Czytał Marek Buga – dzięki!


Wychodzę z założenia, że każdy (średnio rozgarnięty szympans – jak to mawiał mój nauczyciel z technikum) jest sobie w stanie poradzić z nauką technologii. Z tego co zauważam u zdolnych osób – wystarczy kilka tygodni by poruszać się w nowej technologii. Po przepracowanym kwartale w nowej technologii znają ją już na naprawdę przyzwoitym poziomie.

Zupełnie inaczej jest z nauką odpowiedzialności, dokładności, sumienności, rzetelności (you name it). Niektórzy nie są w stanie wyrobić sobie tych umiejętności/cech przez całe życie. Dlatego dużą uwagę zwracam na to jakie ktoś ma umiejętności miękkie. Pisałem to już w wpisie 7 kluczowych cech dobrego developera, że moim zdaniem lepiej mieć w zespole niedoskonałego technicznie, ale komunikatywnego i sumiennego programistę niż geniusza kodu, który ma problem, żeby komunikować o najprostszych sprawach.

Jak to sprawdzam?

Sprawa jest prosta – udostępniłem online test rekrutacyjny (znajdziesz go pod tym adresem: fresh-apps.com/#carrier). W związku z tym, że jest dostępny publicznie miałem wiele „śmiesznych/dziwnych” zgłoszeń. Generalnie feedback na temat testu jest taki, że jest bardzo łatwy lub bardzo trudny. Sam nie wiem, co o nim myśleć ]:-> W teście znajduje się kilka pytań – m.in. kiedy planuje się ukończyć test i wiele innych. Bardzo dużą uwagę zwracam na precyzyjność odpowiedzi – zdarza się, że developerzy odpowiadają na precyzyjne pytania w postaci „eseju” – to wbrew pozorom sporo mówi. Inni z kolei unikają odpowiedzi na niektóre pytania (bo mogą być trudne). Z tym, że chyba lepiej się pomylić niż nie odpowiedzieć nic – right?

Zdarzają się osoby, które mylą się co do terminu realizacji testu rekrutacyjnego – wtedy uprzedzają (much appreciated it). Inni z kolei przesyłają test z opóźnieniem nie informując o niczym, jest też grupa, która go nie odsyła zrywając komunikację. Ludzie są różni, ale z tych zachowań, które opisałem wyżej da się wiele wywnioskować jakie ktoś będzie miał podejście do realizacji zadań w projekcie.

Oczywiście, że test rekrutacyjny nie jest wyrocznią – niektórzy developerzy są zmęczeni zadaniami rekrutacyjnymi i chcą je „odbębnić”. Być może w projekt byliby bardziej zaangażowani i dokładni. Z moich obserwacji wynika, że w ~80% przypadków to jak developer podszedł do komunikacji w teście rekrutacyjnym, tak będzie podchodził do tematów w komercyjnych projektach. Jest to dla mnie istotne z jeszcze jednego powodu – wszyscy we Fresh Apps działamy zdalnie, więc umiejętność komunikacji jest dla mnie niezwykle ważna.

Czy ukończona uczelnia ma znaczenie?

Not really. Uczelnia nie będzie wnosiła wartości do projektu. Moim zdaniem może świadczyć to jedynie o tym, że kończąc prestiżową uczelnie można założyć z większym prawdopodobieństwem, że ktoś jest bystry (ale nie jest to pewnik). Natomiast jak wcześniej wspomniałem – bardzo ważną kwestią są umiejętności miękkie, a tego akurat uczelnie niewiele uczą. Bystrzaki są wszędzie – nawet na niszowych uczelniach, czasami decyduje o tym sytuacja finansowa, na którą się nie ma się wpływu.

Apropos uczelni…

Rekrutowałem developera, rozwiązał ~20% testu rekrutacyjnego więc podziękowałem ładnie. Odpowiedział, że nie rozumie mojej decyzji bo przecież ukończył magistra (!!!). C’mon, serio?

— Karol Wójciszko ? (@kwojciszko) April 5, 2018


Najważniejsza umiejętność developera?

Być może za jakiś czas mi się to zmieni, ale na dzień dzisiejszy najważniejszą umiejętnością programisty jest umiejętność rozwiązywania problemów. Niektórzy są „cwaniakami kodu” – jak nie drzwiami, to oknem. Czasami by rozwiązać jakiś problem wiedza techniczna to zbyt mało – wtedy liczy się m.in. kreatywność. Nie każdy to ma – niektórzy jak trafią na „ścianę” to siedzą z załamanymi rękoma, inni próbują różnych sposobów, aż w końcu się udaje. To się przekłada na rozwiązywanie problemów „ogólnie” – nie tylko z kodem, ale też życiowych. Niektórzy jak mają awarię internetu w domu twierdzą, że nie są w stanie pracować, natomiast inni zestawiają połączenie z telefonu lub idą do jakiejś kawiarni. To tylko przykład, mam nadzieję, że oddałem idee tego co miałem na myśli.

To co opisałem powyżej zazębia się z umiejętnością szukania. Niektórzy jak napotkają na czysto-techniczny problem, nie są w stanie znaleźć rozwiązania. Z tego co zauważam to 80-90% rozwiązań problemów znajduje się na stackoverflow.com. Brak umiejętności szukania często wiąże się z tym, że ktoś nie potrafi podzielić problemu na etapy/mniejsze kroki. Po prostu nie wie gdzie jest i w którym kierunku powinien zmierzać. Wpływa to na dłuższe rozwiązywanie problemów. Być może to trochę naciągam – ale to moja subiektywna opinia na podstawie obserwacji developerów.

Sprawdź jak mogę Ci pomóc osiągnąć Twoje cele 🎯


Co cenię u developerów?

Jestem chomikiem informacji. Dużo rzeczy, nad którymi pracuję loguję w toggl. Dla tych, którzy nie wiedzą czym jest toggl – jest to aplikacja umożliwiająca logowanie czasu nad poszczególnymi zadaniami – klika się start/stop. Uważam, że czas jest jedną z cenniejszych rzeczy, które mamy – bardzo mi zależy by mieć go „jak najwięcej”. W związku z tym, loguję czas w toggl, który poświęcam na poszczególnych developerów – tematy są przeróżne. W perspektywie czasu jest to dla mnie dość ważny wyznacznik. Mówiący m.in. o tym na ile ktoś jest samodzielny technicznie i osobiście. Gdy zaczynałem logować czas – myślałem, że będzie to wychodziło mniej/więcej podobnie dla każdego z developerów, jednak praktyka pokazała co innego. Rozbieżności między poszczególnymi developerami bywają spore. Biorę ten wskaźnik pod uwagę np wtedy gdy przypisuję zasoby do projektów – w niektórych mogę sobie pozwolić na większą ilość czasu, w innych nie.


To było kilka krótkich myśli na temat rekrutacji, pracy z developerami, którymi chciałem się z tobą podzielić. Mam nadzieję, że ci się podobało – daj mi znać w komentarzu jakie kwestie związane z rekrutacją chciałbyś abym poruszył.


Dziękuję, że przeczytałeś ❤️

Pssst... przygotowałem dla Ciebie kilka prezentów - wybierz co Ci się przyda! 👍

2 komentarze do “Rekrutuj, nie zbankrutuj: 3 rzeczy, które musisz wiedzieć zanim zatrudnisz programistę

  • Spoko wpis tylko czy to logowanie czasu poświęconego na developera nie zniechęca go do kontaktu? W obawie o zepsucie swoich statystyk developer może ograniczać ilość pytań – coś co da się przekazać w 5 min czasami może kosztować cały dzień googlowania :). Sam pomysł jest fajny, można sobie wyrobić dodatkowy czynnik który trzeba brać pod uwagę przy wycenie projektów, ale sądzę że developerzy nie powinni o tym wiedzieć.

    Odpowiedz
    • Jeśli chodzi o techniczne zapytki, to 90% z nich da się wygooglować/poszukać w kilkanaście minut. Jeśli developer z takim czymś przychodzi o pomoc to tracimy podwójnie – czas dwóch osób zamiast jednej. Dodatkowo developer nie uczy się pracy samodzielnej.
      Tu nie chodzi żeby mieć jak najmniej kontaktu, tylko żeby był uzasadniony. FYI: podejrzewam, że developerzy nie wiedzą o takich statystykach, chyba, że przeczytali ten wpis 😉

      Odpowiedz

Dodaj komentarz

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

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.