Zpráva o stavu IT trhu
Po třech letech jsem se rozhodl změnit práci. Oběhal jsem pár firem, máte-li zájem, tak se na následujících řádcích podělím o své zkušenosti a podám zprávu o stavu IT trhu. Líčení je to značně subjektivní, zúžené na svět Javy, ale dost možná platí i pro vás.
Tak za prvé, práce je mraky. Paradox volby: je takových možností, že si nebudete moc vybrat. A i kdybych se desetkrát naklonoval, tak všechny klony zaměstnám. Nicméně firmy zájemce pečlivě přebírají. Nesetkal jsem se s tím, že by najímaly, tak jako někdy dříve, každého z ulice (ale může to být zkreslené mým předvýběrem). Tím, že máte možnost si vybrat, apeluji na vaši morálku: Zvažte, pro koho chcete dělat. Třeba loterijní společnosti?
Kde vzít práci
Jestli trochu dbáte o svůj obraz a snažíte se být vidět (ve smyslu článku Třídění programátorů quicksortem), tak práci nemusíte moc chodit naproti, najde si vás sama. Jistě dostáváte mnoho zpráv na LinkedIn (některé programátory může uspokojovat, že konečně mají šanci odmítnou hezkou holku). V mém případě je to většinou balast, ale za rok se objeví tak dva až tři zajímavé kontakty, které je dobré vytěžit. Slyšel jsem o lidech, kteří sice práci nehledají, ale využijí každé příležitosti nechat si zaplatit oběd.
Javisti se neprávem povyšují nad PHP programátory. PHP má nízkou bariéru, takže mnozí začínají právě u něj. Někdo v něm napíše Facebook a někdo jen bastlí. Podobně asi přišli ke špatné pověsti HR agentury a lovci hlav. Vidina velkého zisku (kdy jediné, co potřebují, je telefon) přitáhla spoustu průměrných až podprůměrných. Nezatracujte tedy všechny, ale pečlivě vybírejte, s kým budete jednat. Za sebe, i když nakonec nemám práci od ní, můžu doporučit Luu Ly Nguyen Bach, mrkněte na její blog Ze života recruiterky.
V neposlední řadě se hodí mezi vašimi kamarády a bývalými kolegy rozšířit informaci, že hledáte práci.
A taky doporučuji přednášku How to get any job worth getting, kterou měl Richard Fridrich na WebExpo.
Velikost firmy a forma spolupráce
Jedno z vašich rozhodujících kritérií nejspíš bude velikost firmy. Bude to startup? Neexistuje jeho ucelená a uznávaná definice. Jedna z mých asociací je výmluva na mizerný plat. I když najde se jich několik, které peníze mají (zdá se mi, že jsou v menšině). Podrobněji o odměňování v Neberte práci jen kvůli penězům (Programátorem po čtyřicítce).
Kdyby náhodou.
— Jirka 🗽 (@jiriknesl) July 17, 2016
Hledám (i juniornějšího) Javistu. Vaadin, Postgres.
30-35k, remote (i SK). Pro startup.
jiri@sprintmasters.cz
A ještě jednou Riki Fridrich, tentokrát na téma Prečo startupy nemajú šancu získať seniorných vývojárov.
Říkejte mi třeba homo hypotecus, ale většina startupů je pro mladé a svobodné. Ovšem zajímavé startupy hledají někoho zkušenějšího, takže starší a stále svobodné nebo už se splacenou hypotékou.
Práce na IČO (švarc systém) stále frčí. Někde nabízejí HPP i IČO, někde jen jednu možnost. V té souvislosti bych připomněl, že kromě známých věcí (nemocenské pojištění, ručení veškerým svým majetkem, obvykle neplacená dovolená), přijdete (uplatňujete-li náklady paušálem) o slevu na dani na manželku a děti.
Práce z domova
Jelikož bydlím dál od Prahy, je pro mě důležitá možnost práce z domova. Mohl bych zkusit oslovit firmy třeba v USA, ale kromě větší konkurence mi přijde jako překážka časový posun, jiná mentalita a to, že se s kolegy uvidíte málo nebo vůbec. Naštěstí už je to u nás s prací z domova výrazně lepší než před třemi lety. Firmy už práci z domova více praktikují a jsou ochotnější se domluvit.
Náborový proces
Celý náborový proces začíná už samotným oslovením. Když mi v prvním e-mailu přijde něco podobného, je to mě stopka (připomnělo mi to článek Lukáše Křečana Jak nepsat framework).
Zajímavostí může být vlastní framework podobný Hibernate.
Je dobré si všímat podprahových signálů. Když HR slečna začne na první schůzce sama mluvit o přesčasech, nevěští to nic dobrého. Jiné firmy zase mají asi sedmikolové výběrové řízení. Jaké pak budou jejich vnitřní procesy? Nejen kandidáti chodí pozdě či vůbec, někdy i zástupci firem na domluvenou schůzku nedorazí.
There was a 'Forbidden' error fetching URL: 'https://twitter.com/petdance/status/768474116668137472'
Na WebExpo měl Tomáš Baránek zajímavou přednášku Jak sbalit ženu. Přijde mi, že některé zásady lze uplatnit i na lovce hlav. Třeba to, že byste neměli působit zoufale (i kdybyste náhodou byli) a neodpovídat na e-maily okamžitě (nechat je odležet třeba do druhého dne). Náborový proces jsou vlastně námluvy a schůzky rande, ne?
Jak už jsem naznačil v úvodu, při hledání práce mi výrazně pomohl můj blog. Jednak jsem vidět, jednak je tu větší prostor, než u pohovoru, vysvětlit svoje postoje. Takže blogujte!
Otázky
Chtěl bych vypíchnout otázky, které jsem dostával na technických pohovorech. Některé považuji za velmi dobré, u některých nechápu smysl a přijde mi, že se plýtvá časem.
Za dobré otázky třeba to, jaký je v RESTU rozdíl mezi metodami Post a Put. Mrkněte na Microsoft REST API Guidelines. Jak byste v RESTu realizovat částečný update - patch? Jak fungují transakce ve Springu (včetně interceptorů a AOP)? Jaký je vztah entitymanageru a transakce? Vysvětlete ACID a CAP.
Jsou pointery a rekurze latinou softwarového inženýrství? Dřív se testovalo z pointerů, dnes se vyžívají ve vláknech, ale skutečně to potřebují? Je následující úloha, kterou máte vyřešit na pohovoru, nejlépe využitý čas k poznání kandidáta?
Write a method that receives an array of integers as an argument. The method needs to find indexes of elements of the array, such that sums of elements before and after that element are equal. The method needs to return indexes sorted in a descending order. Method signature: void int[] equalSum(int[] data){ Example 1 Input: [1, 2, 3, 4, -1] Output: [2] Example 2 Input: [1, 2, 3, 4, 5] Output: [] Example 3 Input: [1, 1, -1, -1, 3] Output: [2, 1] Example 4 Input: [1, 1, -1] Output: [0]
Domácí úkoly
Ve většině případů chtěli zaměstnavatelé vidět nějakou ukázku vaší práce nebo přímo zadali domácí úkol (obvykle v rozsahu tak 3 až 8 hodin). Těší mě, že se to celkem rozmohlo, ale náborový proces už je i tak náročný na čas, tak si člověk nesmí nabrat moc příležitostí.
I když se vám úlohy budou zdát triviální, jejich cílem je zjistit, jakým způsobem pracujete. Při pohovoru může dojít i na diskusi nad kódem. Doporučoval bych zaměřit pozornost na organizaci projektu, logování, testy, javadoc, commit message a readme. Nemusím snad zdůrazňovat, že projekt musí jít zbuildit. Může se vám stát, že dostanete šablonu (tedy nepíšete na zelené louce). Nevím, jestli šablona byla v nepěkném stavu jakože chyták, ale tím, že kód začistíte, nic nezkazíte.
Závěr
Práce je dost, což je pro nás programátory jedině dobře. Můžete vybírat z různých velikostí firem, domén i možností spolupráce (HPP nebo IČO). Trh se kultivuje. Často jsou vyžadované ukázky vaší práce a/nebo domácí úkoly. Fimy jsou otevřenější práci z domova. Zviditelněte se (LinkedIn, GitHub, StackOverflow, blog…) a buďte v kontaktu se seriózními lovci hlav.