O náboru juniorů
Před rokem jsem hledal práci, teď občas bývám u pohovorů na druhé straně. Mám rád junior programátory, pamatuji si, že i já byl takový a bylo o mě dobře postaráno, tak bych to rád vracel. Chtěl bych se podělit o své zážitky, protože jsem byl bohužel z několika kandidátů zklamaný. Myslím, že by mé poznámky mohly některým pomoct s přípravou. Mohli by lépe využít svého potenciálu, abych je příště nemusel odmítnout.
Základní předpoklady
Přijde mi, že po roce (jejich) tvrdé práce a citlivému vedení jsou na tom junioři lépe než leckteří samozvaní senioři (a co si budeme namlouvat, jsou pro firmu i levnější). Jestli se u mě něčemu naučili, nechť posoudí sami. Nechci moralizovat jako Monty Python ve skeči Four Yorkshiremen, ale přemýšlím, co jsem (ne)uměl, když jsem začínal.
Především potřebuji vidět jiskru v oku a nadšení pro věc. Ptal jsem se například i na to, proč chtějí být programátorem.
Pokud se hlásí na pozici Java vývojáře, tak očekávám znalost minimálně na úrovni učebnice Pavla Herouta, takže třeba dokáží popsat rozdíl mezi interface a abstraktní třídou, kontrakt equals
a hashCode
případně rozdíl mezi LinkedMap
a HashMap
. Nikdo vás nebude učit naprosté základy, které můžete nastudovat sami doma. Tak jako na hudební nástroj cvičíte stupnice, tak očekávám, že máte nacvičené hanojské věže, bubble sort…, přestože to v praxi zdánlivě k ničemu není. Ale co můžete jako čerstvý absolvent jiného nabídnout? Předpokládám i základní znalosti hardware: jak dlouho trvá sečíst číslo, http požadavek či zápis na disk (nikoliv přesné jednotky, ale řády).
Životopis
Nepište si do životopisu blbosti, přijde se na to. Když vidím, že se někdo chlubí scala, groovy, kotlin, tak mě to nadchne, ovšem hned dostanu studenou sprchu, protože jsem se zeptal, jaký je mezi nimi rozdíl. Máte-li tam napsáno MySql, Mongo, opět ode mě očekávejte otázku: „Jaký je rozdíl mezi relační databází a NoSQL?“ To samé platí pro svn, git (i když to se mi stalo asi u někoho „zkušenějšího“). Nicméně neklesejte na mysli, není cílem zjistit, co nevíte, ale naopak, co víte (to jsem se, mám dojem, naučil od SoftWare Samuraje). Ostatně to i kandidátům při pohovoru několikrát opakuji.
Pokud jste nedokončili vysokou školu, není to nutně špatně, ale počítejte, že se vás na to zeptám. Zkusili jste první semestr a zjistili, že to není nic pro vás? Vyhodili vás těsně před státnicemi?
Vidím awk, fajn, to nebude klikač, něco se od něj naučím.
Pošlete odkaz na svůj LinkedIn profil, chci si ověřit reference a zjistit, jestli vás nezná někdo z mých známých, kterých bych se mohl přeptat. Obzvlášť jmenujete-li se například Jiří Novák, tak se hodí přímo odkaz, abych nekoukal na profil úplně jiného Jiřího Nováka.
Domácí úkol
Předně posílejte odkazy na bakalářky a diplomky, chci je vidět. Je to něco, na čem jste intenzivně pracovali, tak se tím, sakra, pochlubte.
O domácí úkolu už jsem psal, ale hodí se některé věci zopakovat a zdůraznit. Kód musí jít zkompilovat a spustit. Měl by splnit zadání. Ukliďte po sobě a nenechávejte tam zakomentovaný kód. Těším se na commity, abych viděl, jak přemýšlíte, ale častým nešvarem je, že je celý úkol commitnutý najednou.
Vzdělávání
Zajímá mě, jak a z čeho se učíte.
V příspěvku Programátorem po čtyřicítce se píše, abyste četli alespoň 6 knih za rok. Přijde mi, že lidi nečtou (jako vůbec), skřípu zuby, ale budiž. Já zase nepřispívám do open source projektů, což by zase mohli rozporovat jiní.
Nevadí, jmenujte nějaký podcast, youtube kanál nebo blog (tím nemyslím, abyste podlézali a řekli ten můj). A víte, co místo toho slyším? „Učím se ze StackOverflow.“ Taky tam chodím několikrát denně řešit svoje problémy, ale spíš bych čekal, že sáhnete po nějaké knize jako třeba Hibernate in Action, Pro Git nebo dokumentaci Springu a systematicky začnete studovat jedno téma víc do hloubky.
Závěr
Od juniorů bych tedy čekal nadšení, nějaké základní znalosti a naději toho, že se budou zlepšovat.
Jak se stavíte k náboru juniorů vy? Jste junior a zdá se vám moje požadavky nesmyslné?