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řípra­vou. Mohli by lépe využít svého poten­ciá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ří samoz­vaní senioři (a co si budeme namlou­vat, jsou pro firmu i levnější). Jestli se u mě něčemu naučili, nechť posoudí sami. Nechci morali­zovat 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ře­buji 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 inter­face 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 nastu­dovat 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ý absol­vent jiného nabíd­nout? Předpok­lá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 životo­pisu 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ě nekle­sejte 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ášť jmenu­je­te-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 inten­zivně praco­vali, tak se tím, sakra, pochlubte.

O domácí úkolu už jsem psal, ale hodí se některé věci zopakovat a zdůraz­nit. Kód musí jít zkompi­lovat a spustit. Měl by splnit zadání. Ukliďte po sobě a nenechávejte tam zakomen­to­vaný 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 commit­nutý 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řis­pívám do open source projektů, což by zase mohli rozpo­rovat jiní.

Nevadí, jmenujte nějaký podcast, youtube kanál nebo blog (tím nemys­lím, abyste podlézali a řekli ten můj). A víte, co místo toho slyším? „Učím se ze StackO­verf­low.“ 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 Hiber­nate in Action, Pro Git nebo dokumen­taci Springu a syste­ma­ticky začnete studovat jedno téma víc do hloubky.


CommitStrip.com

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é?

Související