Cesta samuraje, rok šestý
Normálně má blog SoftWare Samuraj narozeniny v květnu, ale myslím, že je každému jedno, že (téměř) tradiční retrospektiva přichází o měsíc později. A po dvou letech.
Wind of Change
Huš je to ták. Po čtyřech letech jsem došel k bodu, kdy je potřeba nejen změnit zaměstnání. Ale trochu i přesměrovat kariéru. A tak chodím poslední dva, tři měsíce po pohovorech. Je to tristní zkušenost, svět se pořád ještě nepoučil. No, myslím, že o tom bude výživný článek — zatím mám pracovní název: Smutná zpráva o stavu IT trhu.
Poslední dva roky jsem málo programoval. Téměř vůbec. Asi se to projevilo — poslední půlrok programuju hodně. V Pythonu, v Clojure, ve Scale, v Javě. Je to moc příjemné. A frustrující — přišel jsem o hodně praxe a potřebuju dohnat hodně znalostí.
Třeba Java 8. Kde kdo už ji rutinně mastí a já se teprve postupně učím, jak ty nové vlastnosti, na které jsem léta čekal, postupně uvádět do praxe. Přitom to není nic světoborného — lambdy jsou jen převlečené closures z Groovy (syntakticky spíš ze Scaly), streamy jsou vlastně jen sekvence z Clojure. Takže věci, které jsem v jiných jazycích používal už před pěti lety. Jen v tý Javě mi to nějak neleze z klávesnice. Dost možná je to tím, že ta Java syntaxe je dost ošklivá a užvaněná.
Nebo Clojure. Naposled jsem s ním dělal ve verzi 1.2, teď je ve verzi 1.8, téměř 1.9. Tudíž věci jako protocols, reducers, transducers a clojure.spec mě kompletně minuly. O boomu ClojureScriptu nemluvě. (Pro úplnost, protokoly ve verzi 1.2 už byly, ale ne v knize, podle které jsem studoval.)
Anebo Scala. Z ošklivého akademického kačátka se vyprofiloval cool jazyk, který si vydobyl svou úzkou a specifickou doménu v oblasti big data a paralelního zpracování. Tady se musím přiznat k určité kariérní chybě. Když jsem se před více než 8 lety rozhodoval, jaký další jazyk se naučím, volil jsem mezi Groovy a Scalou. Vybral jsem Groovy a z dnešního pohledu je jasné, že to byla slepá ulička.
Zatímco Groovy je dnes taková zestárlá Popelka, skriptovací holka pro všechno a jedinou rozumnou a rostoucí implementací je skvělý Gradle; tak Scala vyrostla do síly, kdy i na českém trhu jsou vám ochotni za ni zaplatit jako za hlavní jazyk. To se o jiném JVM jazyku říct nedá.
Minulost
Zmiňoval jsem, co mi uteklo. Co mi naopak minulé roky přinesly? Hlavně věci týkající se team leadingu. Postavil jsem si svůj vlastní team. Získal slušnou praxi v technické hiringu. Naučil jsem se dělat distribuované projekty. Naučil jsem se řídit distribuovaný tým (další potencionální článek).
Zlepšil jsem si mluvenou angličtinu a svoji španělštinu jsem dotáhnul na pracovní úroveň (jak říká LinkedIn, full working proficiency) — dělal jsem projekt, kde španělština byla oficiální jazyk. Všechny workshopy, specifikace a dokumentace byly ve španělštině. Trabajé como líder técnico, responsable de la implementación de la solución compleja en América Latina.
Mám za sebou dvě neúspešné implementace Kanbanu. Vina bude na mé straně, protože jsem nedokázal inspirovat team.
Mám za sebou úspěšné zavedení Hg Flow na několika projektech.
Mám za sebou neúspěšné budování teamové kultury. Opakovaně.
Vychoval jsem tři dobré technical leadery.
Nepodařilo se mi posunout tři juniory na seniornější úroveň.
Nalítal jsem kolem 230 000 km po čtyřech kontinentech.
Budoucnost
Chtěl bych si od team leadování odpočinout — aspoň rok se věnovat jen full time programování. Chtěl bych si odpočinout i od technických pohovorů — cítím rutinu a potřebu změny.
Chtěl bych změnit business doménu. Vypadnout z korporátního prostředí, ve kterém se pohybuji posledních 12 let (celou svou Java kariéru). Hodně mě teď zajímá oblast machine learningu a data science. Zatím jsem na úrovni čtení článků a okukování kurzů na Coursera.
Technicky, rád bych se odklonil od Javy. Ideálně, zůstal na JVM a dělal v Clojure, nebo aspoň ve Scale. Možná i něco jinýho — Erlang by byl fajn. Aspoň půl, na půl.
Chtěl bych potkat inspirativní lidi.