Lesk a bída IT pohovorů, pohled z druhé strany stolu
Vlastně jsem se nejdříve pobavil při čtení článku Smutná zpráva o stavu IT trhu, ale potom mi dost zamrazilo. Ten článek vypovídá o tom, že hodně lidí si přečetlo pár blogpostů lidí z Google a teď to slepě kopírují. Před pár lety bylo v módě dávat otázky “proč jsou díry od kanálu kulaté” či “kolik souprav vypraví denně pražské metro” než všichni pochopili, že podobné otázky jsou k ničemu. Doufejme, že se brzo dočkáme stavu, kdy vás nikdo při pohovoru nenechá kódovat u tabule či na papír a podobné nesmysly, protože tím maximálně zjistíte jak uchazeč reaguje pod stresem a kolik se toho našprtal a nikoliv jak dobrý je to programátor. Vysvětleno je to v samurajovo článku. Psal jsem to zde mockrát, je úplně irelevantní jestli člověk dokáže napsat merge sort na dvacet řádek nebo na čtyřicet, ale je důležité jestli vám sedí do kultury vašeho vývojového týmu. Samozřejmě, pokud je vaše kultura definovaná zbytnělými egy, whiteboard se bude hodit. Ale to si musíte vyhodnotit sami. V tomhle článku zkusím nabídnout pohled z mojí strany stolu, tedy člověka, který vede několik pohovorů týdně. Sice je to moje know how, ale klidně ho použijte pokud to jenom trochu pomůže narovnat stav v jakém se pohovory dneska nacházejí
V první řadě, byste měli s uchazečem jednat tak, jak byste si představovali, že bude někdo jednat s vámi. Nikdy kandidáty nezkouším z programování u tabule, protože to je školometské. Pokud chci u někoho zjistit, jak o problému přemýšlí, dám mu domácí úkol. Že si něco najde a dohledá na Google mi vůbec nevadí, that`s the life. Je tu jedna výjimka. Pokud si někdo napíše do životopisu zkušenosti např. distribuované systémy, očekávám že když se ho zeptám kde se setkal s CAPem, že mi bude schopen dát jeden praktický příklad kdy se s tímhle omezením setkal. Je to pro mě důkaz, že dané problematice skutečně porozuměl v praxi a rozhodně to má větší vliv než kdyby na tabuli vyseknul matematický důkaz a pak mi řekl, že používali replikovanou cache a dodal že na CAP nikdy prakticky nenarazil.
Pokud se bavíme o škole, raději se zeptám na téma závěrečné práce, protože to kolikrát o člověku prozradí více než by se zdálo. Minimálně z toho poznáte jak hodně tomu člověku záleželo dělat něco alespoň trochu smysluplného a vášeň pro něco se nadchnout. Dalším docela dobrým indikátorem je nedokončené vzdělání. Vždycky mě zajímá proč to ten kandidát nedokončil, vlastně se podprahově ptám na jeho sebereflexi, jestli toho lituje nebo jestli se bude vymlouvat. Nasnáším alibismus, protože první nejdůležitější vlastnost je sense of ownership (jak se to řekne česky?). Není to tvrdý indikátor, ale něco to napoví.
Klíčové je pro mě, kde a jak se ten člověk vzdělává a proč se rozhodl pro změnu. Nestačí mi odpověď “kultůra tam je na hovno”, chci vědět co pro to udělal, aby se zlepšila. Hlavně tedy u lidí , kteří se třeba zaštiťují tituly jako scrum master či agile coach. Velkým varováním jsou odpovědi typu “jsem tam nejchytřejší”, “nebudu dělat X”. O nejchytřejších lidech a egu u tabule jsme mluvil. Lidi bez postoje “nebudu dělat X” jsou mnohem otevřenější k učení se novým věcem, alespoň z mého pozorování. A přesně ty chcete.
Když si poskládám obrázek o kandidátovi, dám mu domácí úkol. U nás se programuje proti našemu veřejnému API. Po odevzdání na to kluci kouknou a pošleme většinou jejich připomínky. Někdy je ani ne-edituji, ale vezmu to copy&paste. Je zajímavé sledovat reakce. Asi nejhorší je pro mě “to po mě v zadání nikdo nechtěl” pokud je například vyčítáno, že v kódu není ani jeden test. Sakra, je to moje vizitka nebo toho kandidáta mě vždycky napadne. Někdy kandidát prostě napíše, že si chtěl ulehčit práci a vysvětlí to a druhá verze vypadá mnohem lépe. Správný přístup, to se cení. Mimochodem když vývojáři tenhle feedback dáte, ocení on vás a stoupnete v jeho očích, protože tím projevíte zájem a ukážete mu tím respekt k jeho práci. Tím neříkám, že jsem to udělal vždy. Někdy je to takový paskvil, že prostě napíšete, že máte fundamentálně odlišnou představu o tom, jak by to mělo vypadat. No a někdy je ten kód prostě super a to rovnou píšu “kód super, je na čase se potkat s vývojáři”.
Co si řeknou vývojáří a kandidát mě ani moc nezajímá. To je mezi nimi. Vždycky jim říkám, buďte ke kandidátovi upřímní. Pokud vás tu něco štve nebo něco nefunguje, řekněte mu to. Chce se podívat do našeho kódu? Ukažte mu ho. Důležité je klást na srdce, a budu se opakovat, “jednejte s ním, jak chcete aby bylo jednáno s vámi kdybyste byli v opačné pozici”. Tomuhle kolu říkám “očuchání” a cílem je zjistit, jestli si kandidát a jeho noví kolegové sednou.
Tak nebo onak, další kola nemá cenu přidávat. Je to loterie, proto moc nechápu když je potřeba více kol. I na naší straně se to může táhnout. Někdy je to vyjednávání o rozpočtu a hledání skulin. Proto se snažím být k těm kandidátům upřímný. Nakonec to co nevyjde dneska, může být aktuální za pár měsíců. Co se mi při finální nabídce osvědčilo, je napsat proč si myslím, že je práce u nás pro kandidáta vhodná. Mimochodem jako summary před domácím úkolem posílám, věci o kterých si myslím, že definují naší kulturu a principy (včetně odkazů), kterými se řídíme. Vůbec individuální přistup dost funguje, na tom si zakládám už když kandidáta oslovuji. Hlavně žádné strojové emaily podle šablon.
Jsem bytostně přesvědčen o tom, že právě naše kultura a vize, na kterou kladu při pohovorech důraz, osobní a fér přístup plus zajímavý produkt je tím nejdůležitějším faktorem, který většinou překlopí misku vah na naší stranu. Budu rád, jestli tohle někomu pomůže v tom, aby se kultura pohovorů trochu, alespoň trochu zlepšila. Když už jsme tedy vykořenili nejdebilnější HR otázku “kde se vidíte za pět let”, případně “proč jsou díry od kanálu kulaté”, vykořeníme i školometství “naprogramujte mi na papír reverse”. Pohovorům zdar.