czwartek, 25 lipca 2013

Czy programista musi koniecznie być na bieżąco?

W nawiązaniu do poprzedniego wpisu, dziś o innych pytaniach z "wielkiej piątki" pytań wymyślonych przez pewnego rekrutera IT. 

Pytanie "Jakie jest Twoje podejście do dokumentacji" zadane jest, by sprawdzić tzw. dobre praktyki programistyczne kandydata. Problem w tym, że większość programistów uczestniczących w komercyjnych projektach zdaje sobie sprawę z tego, iż należy wykazać korzystanie z owych dobrych praktyk, niezależnie od tego, czy korzysta się z nich faktycznie. Który programista przyzna się na rozmowie rekrutacyjnej, że nie dokumentuje swojego kodu? Albo że nie lubi pracować w zespole? Obawiam się, że powyższe pytanie, jakkolwiek dobre w rekrutacyjnych intencjach, może być zbyt łatwo rozszyfrowane przez kandydata, który da odpowiedź taką jakiej rekruter oczekuje, jednak niekoniecznie zgodną z prawdą. 

Podobnie z pytaniem o wykorzystywane przez kandydata systemy kontroli wersji. Któż przyzna się, że z nich nie korzysta? W wyjaśnieniu zasadności pytania jego autor twierdzi, że można z jego pomocą (oraz kilku innych) dowiedzieć się, jakie standardy programowania panują w firmie czy w zespole, gdzie pracuje rekrutowany kandydat. Faktycznie, ma znaczenie to, gdzie nauczono nas programować, w jakim środowisku przyszło nam zdobywać programistyczne szlify. Znów jednak pytanie wydaje mi się zbyt wprost, by kandydat nie zorientował się, po co jest zadane i jak n a l e ż y na nie odpowiedzieć.

Pytanie "Podaj przykład projektu, który kompletnie się nie udał" rzeczywiście może doprowadzić nas do dowiedzenia się o radzeniu sobie kandydata z trudnościami. Może, ale nie musi. Wiele bowiem zależeć będzie od pytań kolejnych, wnikających w naturę porażki projektu i odkrywających faktyczne (!) zachowania kandydata wobec pojawiających się w projekcie trudności.

Wreszcie pytanie o wersje beta programów, z jakimi "bawi się" kandydat (użyję zaproponowanego tłumaczenia któregoś z czytelników: "Jakimi wersjami beta programów zajmujesz się najczęściej?"). Chodzi tu rekruterowi o sprawdzenie, czy kandydat jest na bieżąco, czy nadąża za nowinkami technologicznymi. Oczywiście, w branży tak dynamicznie rozwijającej się jak IT, lepiej być niż nie być na bieżąco. Ale nie należy to, moim zdaniem, do kluczowych przewag dobrego developera nad takim sobie. Są technologie, gdzie ma to większe znaczenie (np. iOS), ale są i takie (np. COBOL), gdzie codzienne śledzenie newsów niewiele programiście da i bez tego może być bardzo dobry w tym, co robi.

Klasyk w ocenianiu kompetencji developerów napisał kiedyś, że jedyne dwie rzeczy, których oczekuje od programisty, to by był bystry i by doprowadzał rzeczy do końca (smart and gets things done). Nie oparłbym żadnej rekrutacji tylko na tych dwóch wskaźnikach, ale podobają mi się. Często w rekrutacji proste pytania sprawdzają się bardziej niż te wydumane.

_______
fot.: creattica.com

2 komentarze:

  1. Pierwszy!

    Zartowalem ;) Napisze przewrotnie - dobry programista nic nie musi.

    Sledzenie newsow to porazka; to cos jak budowanie 'wiedzy' na codziennej lekturze Faktu. Sledzenie zmian w iOS 7 to nie jest czytanie o tym na Antyweb (gdzie publika skupia sie na tym, co i jak wyglada, i czemu tak brzydko - zreszta nie tylko tam, taka rola i specyfika portali i blogow roznej masci), ale obejrzenie filmow z WWDC i trenowanie nowych API.

    Jeszcze niedawno odpowiedzia na pytanie 'jakimi programami w wersji beta sie bawisz' mogla byc: "Gmail, a Pan nie?" ;)

    OdpowiedzUsuń
  2. Cześć
    Wydaje mi się, że akurat programowanie to profesja, wymagająca "bycia na bieżąco". To tzw "sharpening the saw" (przy okazji polecam https://www.stephencovey.com/7habits/7habits-habit7.php) Nie mam tu na myśli śledzenia z maniakalnym uporem nowych wersji bibliotek czy frameworków, bo to w praktyce i tak nic nie da, ale raczej śledzenie nowych trendów czy technologii (dzisiaj np. NoSQL czy Scala) po to, aby w odpowiednim czasie rozsądnie je wykorzystać i szybciej oraz lepiej dowieźć to całe upragnione "get things done" ;)

    pzdr Jarek

    OdpowiedzUsuń