Grzegorz Gazda

Nazywam się Grzegorz Gazda
Od ponad dziesięciu lat pracuję nad rozwojem różnego rodzaju oprogramowania.
Od ponad siedmiu zarządzam zespołami programistów.

Blog ten jest zbiorem moich spostrzeżeń, doświadczeń oraz lekcji jakich nauczyłem się pracując z zespołami programistów i testerów.

Masz swojego ulubionego rekrutera? A może w ogóle nie korzystasz z pośredników? Ja mam takiego rekrutera, którego bym nie zamienił na żadnego innego. Naprawdę. Zgodził się abym opowiedział o naszej relacji.

 

Postanowiłem o nim napisać po przeczytaniu artykułu na temat faktów i mitów dotyczących współpracy z pośrednikami w rekrutacji. Swoją drogą fakty i mity kojarzą mi się zawsze z wydawnictwem o tej nazwie. Pamiętam jak byłem w szkole średniej i musiałem kupować ten periodyk przez miesiąc. Później na lekcji miałem opowiedzieć co to za gazeta i co ciekawego tam można znaleźć. Najlepsze wspomnienia to to nie są. Ale niewątpliwie pozostał mi głęboki ślad w pamięci. A to wszystko przez nauczyciela. Naprawdę był dobry. Potrafił zainspirować tak samo jak najlepszy manager swój zespół ;)

 

Mój rekruter jest jak Tommy Lee Jones w ściganym. Nie no on taki nie jest. Jest lepszy. Jest jak Jerry Maguire. Tom Cruise grał agenta sportowego. I miał jednego podopiecznego. Z którym zbudował bardzo bliską relację. Jak nie widziałeś tego filmu to polecam obejrzeć. Ja mam agenta od rekrutacji, dokładnie takiego jak Jerry.

 

Zaznaczę jeszcze, że w ramach naszej relacji działamy na dwóch płaszczyznach. On przynosi mi propozycje pracy i także poleca potencjalnych pracowników. W jednym ma jednakże pecha. Nie potrafi znaleźć lepszej pracy niż moja obecna. Hahaha.

 

Ja, pracownik

Najpierw opowiem Ci tą historię z perspektywy osoby będącej na rynku pracy. Rynek ciekawy. Bardzo konkurencyjny. Ciągle coś się dzieje. Cały czas pojawiają się nowi gracze. Nowe firmy, które tak jak klienci Jerrego, chciałyby mieć najlepszych ludzi w zespołach. Aby pewnego dnia osiągnąć sukces podobny do zwycięstwa w Super Bowl.

 

Nasza relacja jest bardzo specyficzna. Mój rekruter to mój przyjaciel. Przewodnik po rynku pracy. Często ze sobą rozmawiamy. On nie dzwoni do mnie tylko jak ma kolejną ofertę. Dzwoni aby po prostu porozmawiać. Buduje relacje. Nie, on ją już zbudował. Teraz ją umiejętnie podtrzymuje. Bardzo często rozmawiamy przed weekendem. O tym co będziemy robić podczas czasu wolnego.

 

To nie są rozmowy o pieniądzach, czy potencjalnych ofertach pracy. To co też bardzo cenię sobie u mojego przyjaciela, bo tak mogę go nazwać, to fakt, że podpowiada mi jakie panują obecnie trendy w branży. Trendy praktyczne. Czyli to co jest obecnie w cenie. Czego poszukują pracodawcy. Czego warto się uczyć.

 

Mój rekruter ma wielu klientów. Pracodawców jak i pracowników. Jednakże zawsze znajduje czas aby ze mną porozmawiać. Co ciekawe jest bardzo skuteczny. Jak poleca jakiegoś pracownika i bierze on udział w procesie rekrutacji, to przeważnie kończy się on podpisaniem umowy. Tak jak ja, tak też inne osoby z którymi on współpracuje cenią sobie bardzo tą relacje.

 

W tych przypadkach gdzie rekrutacja się nie powiedzie to zawsze jest w stanie uzyskać informację zwrotną. Szczegółową. Taką, która pozwala każdemu z jego kandydatów uzupełnić braki i stać się lepszym graczem na rynku pracy. A zadanie nie zawsze to jest łatwe. Nie każdy z managerów prowadzących rekrutację wysila się aby napisać coś więcej o powodach odrzucenia kandydata.

 

Ja, osoba rekrutująca

Jest też druga strona układanki. Rekruter ma zawsze dwóch klientów. Czasami zdarza prowadzić mi się rekrutację. Dostaję oferty od wielu rekruterów. Każdy chciałby zarobić i oferuje usługi swoich klientów. Tak samo jest z moim przyjacielem. Jak potrzebuję znaleźć pracowników to on stara się ich wyszukać na rynku. Podchodzi do każdego zadania bardzo sumiennie. Czasami mam wrażenie, że nie reprezentuje on zewnętrznej firmy. Jego zaangażowanie jest ogromne.

 

On wie, że ja tworzę zespoły bardzo silne. I takich kandydatów też mi wyszukuje. Nie muszę tego przypominać. Już o tym pisałem kilka akapitów wyżej. Jak się komuś noga powinie podczas rekrutacji to zawsze dopytuje się o szczegółowe powody. Taką ma etykę pracy. Tego się trzyma na co dzień.

 

O każdej roli na jaką rekrutuje bardzo dużo rozmawiamy. Jest bardzo dociekliwy. Chce znać jak najwięcej szczegółów. Tak by móc przekazać je potencjalnym kandydatom. A ma ich w portfolio trochę. W końcu utrzymuje dobre relacje z osobami, które polecał wcześniej innym firmom.

 

Rynek IT jest jaki jest. Ludzie pracę zmieniają. Tak po prostu jest. Jednemu kończy się projekt. Drugi szuka nowych wyzwań. Trzeci się chce przeprowadzić w inne miejsce. Czwarty z kolei szuka większego wynagrodzenia. Powodów jest wiele. Mój rekruter rozumie rynek pracy, dlatego też pielęgnuje relacje. Tak by we właściwym momencie móc zareagować. To go wyróżnia. Dlatego jest w stanie znaleźć pracowników dopasowanych w konkretnych wymagań.

 

Pewnie Ciebie nie zaskoczę. Ale on dzwoni też do mnie jak pracowników nie szukam. Po prostu dzwoni porozmawiać o tym co się dzieje. Buduje relację biznesową. Chce być gotowy, kiedy będzie taka konieczność. Cały czas trzyma rękę na pulsie. Po prostu też chce mieć udział w zwycięstwie w Super Bowl. W końcu, kto by nie chciał błyszczeć w czasie nieoficjalnego święta narodowego w Ameryce.

 

A teraz pytanie do Ciebie. Jak jesteś rekruterem to czy jesteś jak Jerry Maguire? A jak jesteś pracownikiem to czy masz takiego przyjaciela? Ile wysiłku wkładasz w budowanie relacji? Robisz to w chociaż minimalnym stopniu? Nie odpowiadaj mi. Odpowiedz sobie. Ale szczerze.

 

Budowanie zespołu IT to jak układanie klocków Lego. Zajmuję się tym samodzielnie i niezależnie od ponad 8 lat. Przez ten okres czasu zatrudniłem bardzo wiele osób. Trochę błędów popełniłem. Ale też dostałem dużo cennych lekcji. Z każdego niepowodzenia staram się wyciągać wnioski i udoskonalać. Tak by kolejnym razem nie popełnić tych samych błędów.

 

Rekrutacja jest jednym z elementów budowy zespołu. Nie zawsze najważniejszym. Często grupę ludzi można odziedziczyć po kimś innym. Wcześniej czy później rekrutacja się pojawi w procesie budowy zespołu.

 

Ja budowałem zespoły od początku. Zatrudniałem pierwszego, drugiego, trzeciego itd. Członka zespołu. Ale też przejmowałem już istniejącą grupę ludzi.

 

Zatrudnianie nowych osób jest jednakże bardzo ważnym procesem, którego trzeba się nauczyć bardzo szybko. Niestety, ale pomyłki są bardzo kosztowne. Zatrudnić kogokolwiek jest bardzo łatwo. Usunąć z zespołu, przeciwnie. Bardzo trudno.

 

Selekcja wstępna

Przeglądając CV kandydatów zwracam w szczególności uwagę na umiejętności, które wymagane są do danej roli. W przypadku programistów, kandydaci są tak zróżnicowani, że nie ma sensu przywiązywać zbyt dużej wagi do innych elementów CV.

 

Przez te ponad 8 lat rozmowy prowadziłem zarówno z kandydatami z wieloletnim doświadczeniem jak i świeżymi absolwentami. CV jakie są takie są. Nie każdy potrafi je pisać. Nie każdy potrafi się sprzedać na jednej lub dwóch stronach A4.

 

Jak Ty szukasz seniora do swojego zespołu, to niech ilość lat doświadczenia nie będzie kluczowym czynnikiem wyboru kandydata. Nie rzadko osoby z mniejszym doświadczeniem mają większe umiejętności.

 

Zróżnicowana struktura zespołów pod względem płci to cel nie jednej osoby zajmującej się rekrutacją. Jest to ważne, ale po pierwsze umiejętności. Zarówno te miękkie jak i twarde. Dyskwalifikowanie lub faworyzowanie dlatego, że kandydat(ka) należy do grupy bardziej lub mniej reprezentowanej będzie ograniczać jakość zespołu.

 

Zdjęcia w CV są przydatne tylko po to by mieć pewność, że osoba z którą się witamy na recepcji jest tą, której mamy dokumenty. Tylko tyle i aż tyle. Selekcja na podstawie aparycji ogranicza potencjalnych bardzo dobrych członków zespołu.

 

Data urodzenia w CV pojawia się coraz rzadziej. Jednakże wiek idzie w dość prosty sposób wywnioskować. Są poprzedni pracodawcy a także lata edukacji. Wspomniałem, że wiedza i doświadczenie nie idą zawsze w parze. Ale mogą. Jednakże wiek może być czynnikiem dyskwalifikującym w przypadku gdy rekruter jest dużo młodszy. Dla mnie to nie ma żadnego znaczenia. Po prostu trzeba się nauczyć zarządzać osobami w każdym wieku. Doświadczenia życiowe są ważnym elementem silnego zespołu.

 

Fajnie jest jak kandydat(ka) miał(a) te same zainteresowania. Wtedy łatwiej będzie się dogadać. Błąd. To nie ma żadnego znaczenia. Sekcja hobby i zainteresowania najlepiej jak by w CV nie istniała. To czym ktoś się zajmuje w czasie wolnym nie ma znaczenia na jakość wykonywanej pracy.

 

Skończyłem studia na wymagającym kierunku (może Ty ale nie ja). Inni, którzy tam studiowali będą na pewno dobrzy. Wszyscy w około mi mówią, że z ludźmi z Azji ciężko się pracuje. Nie zapraszam ich na rozmowy. Jak tak naprawdę myślisz lub postępujesz to lepiej zajmij się czymś innym. Uprzedzenia i stereotypy tylko ograniczają. Aby zbudować super zespół nie wykluczaj nikogo.

 

Ooo, ten kandydat pracuje w firmie X. Tam są słabi programiści. Ale już w firmie Y są bardzo dobrzy. Ograniczę sobie pracy i zaproszę tylko tych z lepszej firmy. Niezbyt dobre kryterium wyboru. Zgodzisz się ze mną? To gdzie ktoś pracował wcześniej nie ma żadnego znaczenia. Historia zatrudnienia może wpływać na jakość umiejętności. Ale nie musi. Tak samo jak w słabych zespołach mogą być bardzo dobrzy kandydaci, tak i w mocnych mogą być słabsi.

 

Przeglądasz CV? Często widzisz takie, w których zakres obowiązków jest opisany bardzo ogólnikowo? Jednocześnie masz inne gdzie wszystko opisane jest szczegółowo? Kogo wybierasz? Pierwszą czy drugą osobę? Swego czasu bardzo irytowały mnie ogólnikowe CV. Jednakże ciężko jest to zmienić. Po prostu kandydaci tak je piszą. Na rynku pracownika nie wiele wysiłku jest wymagane. Będąc odpowiedzialny za budowanie zespołu muszę sobie wygospodarować czas na każdego kandydata. Jak nie osobiście to oddelegować to zadanie. Aby zweryfikować kto się kryje za jedną czy dwoma stronami dokumentu trzeba się z tą osobą spotkać. Może być rozmowa, która nie zakończy się sukcesem. A może być to strzał w dziesiątkę.

 

Powtórzę. Dla mnie ważne są umiejętności. Cała reszta CV równie dobrze mogłaby nie istnieć. Weryfikacja i tak nastąpi w drugim etapie.

 

A co z umiejętnościami miękkimi? A ile osób zajmuje się sprzedażą i potrafi dobrze siebie sprzedać? To najlepiej zweryfikować podczas bezpośredniego spotkania. Papier czy bardziej dokument elektroniczny może przyjąć wszystko.

 

Najczęstsze pułapki podczas selekcji wstępnej

  • Przywiązywanie zbyt dużej wagi do lat doświadczenia
  • Wybór kandydatów ze względu na płeć lub warunki zewnętrzne
  • Dyskwalifikowanie kandydatów ze względu na wiek
  • Szukanie kandydatów o podobnych zainteresowaniach
  • Stereotypy (edukacja, pochodzenie, poprzedni pracodawca itp.)
  • Odrzucanie kandydatów ze względu na ogólnikowe CV

 

To są moje metody wstępnej selekcji. Ciekaw jestem jakie Ty masz. Zapraszam do zostawienia komentarza.

 

Ciągłe udoskonalanie się jest jednym z przewodnich motywów ruchu Software Crafstsmanship. Nie każdy może to lubić. Jedni podchodzą do pracy programisty w kategoriach odbicia swoich 8 godzin a nieważne jakim stylu. Inni zaś tego stylu szukają a raczej ciągle go udoskonalają.

 

Podobnie jest w innych dziedzinach gdzie ciągłe udoskonalania warsztatu sprawia, że satysfakcje z wykonywanego zajęcia jest większa. Może to być granie na instrumentach muzycznych, sport czy tak przyziemne rzeczy jak programowanie. Osobiście nie uważam się za super najlepszego w świecie programistę, jednakże z dnia na dzień staram się udoskonalać swój warsztat.

 

Jednym ze sposobów udoskonalania umiejętności w programowaniu jest rozwiązywania zadań algorytmicznych. Tylko, żeby były one efektywne to powinny się zmieniać. Nie ma sensu pisanie codziennie tej samej pętli for, czy rozwiązywanie jednego algorytmu na tysiąc różnych sposobów.

 

Fakt, że większość osób pracujących na co dzień z komputerem, pisze regularnie maile nie sprawi od razu, że każdy stanie się poczytnym autorem książek. Aby to osiągnąć to musi się zmieniać otoczenie, muszą zmieniać się zewnętrzne bodźce, które sprawią, że posiadane umiejetności wejdą na kolejny poziom.

 

Dla mnie jednym ze sposobów podnoszenia swoich umiejętności jest rozwiązywanie zadań algorytmicznych. Poza tym, że utrwalam dzięki temu możliwości języka w jakim programuje, to także mogę praktykować podejście Test Driven Development. TDD nie jest czymś co na co dzień każdy wykorzystuje w swojej pracy programistycznej. Nie zawsze pisanie testów w pierwszej kolejności jest efektywne. Czasami lepiej najpierw zaimplementować metodę, a później napisać do niej odpowiednią ilość testów jakie są konieczne do tego aby uzyskać jak największe pokrycie. Zarówno od strony linii kodu jak i przypadków testowych.

 

Rozwiązywanie, krótkich zadać algorytmicznych, gdzie np. zadeklarowana jest z góry sygnatura metody umożliwia napisania najpierw odpowiedniej ilości przypadków testowych a później ich implementację. Jest to bardzo ciekawa cecha tego typu zadań.

 

W sytuacji, gdy zadanie do rozwiązania ma już zdefiniowane przypadki testowe można też się nauczyć lepiej testować swój kod. Pokrycie kodu w 100% nie oznacza, że został on pokryty w 100%. To, że coś działa na jednym przypadku testowym, nie oznacza, że będzie działać na innych danych.

 

Zachęcam do poświęcenia w tygodniu godziny na napisanie kodu, który będzie rozwiązaniem na proste zadanie algorytmiczne. Nie ma potrzeby wymyślania zadań dla siebie. Takowe dostępne są na wyciągnięcie ręki. Poniżej kilka linków, gdzie można znaleźć zadania programistyczne w różnych językach.

 

www.codewars.com

www.codekata.com

www.codingdojo.org

www.hackerrank.com

 

Rozwiązywanie kata, to nie jest jedyny i najlepszy sposób aby stać się lepszym w tym co się robi. Jest to tylko jedna z dróg do celu.