úterý 24. února 2015

CZ Podcast 111 - Svobodná firma

Tuze zajímavé povídání jsme natočili se Zbyňkem Hraše. Tématem je koncept Svobodné firmy, zmrdfree kultura, samoorganizující týmy a vůbec transformace firmy Etnetera.

pondělí 23. února 2015

Jak jsem zkoušel býti digitálním nomádem

Často mi někdo říká: ty se máš, zabalíš si počítač a můžeš pracovat odkudkoliv na světě, případně pojedeme někam na trip, ty si vezmeš počítač a bude pracovat. Dlouho jsem tomu konceptu prostě nevěřil, obzvláště pokud je vaše práce týmová, respektive někdo závisí na vaší dostupnosti, což se stává z mnoho důvodů - rozjíždíte nový projekt, máte někoho méně zkušeného, případně potřebujete předat know how. Letos se mi naskytla příležitost strávit 14 dni na Kapverdských ostrovech, kam jsme vyrazili za kiteboardnigem. Dalo by se říci ideální sport, pro skloubení s prací. Jezdíte tři, čtyři hodiny denně - pokud vám přeje počasí, tedy především silnější vítr, bez kterého se ten sport nedá provozovat - a zbytek můžete strávit “s notebookem na pláži” nebo prostě proležet. Zároveň jsem měl dost práce na jednom soukromém projektu. Dobrá příležitost spojit příjemné s užitečným a vyzkoušet si digitální nomádství. Kromě toho jsem potřeboval trochu potrénovat na maratón a vzal jsem si běžecké boty, aby těch aktivit nebylo málo.

Střet s realitou

Člověk míní a život mění. Měl jsem v plánu dát si brzo ráno budíček, dojít se na hodinu proběhnout, trochu si zacvičit. Snídaně, dvě tři hodiny programovat, výjezd na pláž tři čtyři hodiny jezdit. Vrátit se zpátky na apartmán, udělat si večeři a potom ještě dvě hodiny programovat. Jak říkají kapverďané hlavně no stress. Samozřejmě, že si člověk plánuje vyplnit čas programováním i v hluchých místech: na letišti, v letadle atp.

Na letišti jsem samozřejmě nic neudělal, protože veškerou invenci jsem musel věnovat důmyslnému přebalení našich zavazadel, aby splňovala váhový limit 32kg. Cestu v letadle (sedm hodin) jsme z velké části strávili, sledováním filmů, povídáním a plánováním, jaké nové triky se hodláme naučit.

Během prvního dne, kdy jsme přiletěli a otestovali místní spot, jsem se cítil dost unavený. Nevadí, zítra bude taky den.

Druhý den ráno budíček, běh, nákup, návštěva banky, zjištění možností připojení k internetu, pojezd u moře a večer totální vytuhnutí již v devět večer. Dobře, to je aklimatizace, zítra bude lépe. Asi třetí den se mi podařilo začít programovat po snídaní, kdy zbytek party vyrážel do města. Večer to bylo víceméně marné díky únavě. Asi po čtyřech dnech přestalo foukat. Což byla totální pohroma pro zbytek party, ale mě to umožnilo ponořit se do práce. Zatímco zbytek skupiny vyrážel na pláž k moři, já zůstával na pokoji a programoval jsem s přestávkou na jídlo.

Bylo zajímavé, jak se vyvíjela nálada ve skupině. Všichni okolo mě byli totálně otrávení z bezvětří a vůbec špatného počasí - déšť, většinu času zataženo - díky kterému to nebylo ani na válení na pláži. Ostrov Sal, kde jsme pobývali, nenabízí moc příležitostí k zábavě. Já jsem byl spokojený, protože jsem měl klid a čas na práci. Sranda se mnou tedy moc nebyla, a zpětně viděno jsem je možná i trochu štval, protože jsem neustále seděl u počítače a večerní život se redukoval na konzumaci jedné plechovky místního ležáku, který mě spolehlivě uspával.

Přístup k internetu byl žalostný, což se nakonec ukázalo jako jedna z největších výhod. Na internet se chodilo na kafíčko do kavárny u hotelu. Díky horší dostupnosti internetu jsem se mohl plně soustředit na práci, od které mě nic nevyrušovalo. Jestliže si někdo myslí, že lze programovat pod slunečníkem někde na pláži nebo nedej bože u bazénu, pak já to tedy nejsem. Kromě toho, že tam je vedro a v našem případě fouká, atmosféra vás prostě nepřinutí pracovat. Mimochodem podobné to mám doma, mozek se přepne do režimu relax. Pokud tedy za práci nepovažujete brouzdání po internetu. 

Ve výsledku jsem toho za těch 14 dní stihl naprogramovat dost. Nesplnil jsem všechno co jsem si předsevzal a to z několika důvodů.

  • Docela mi trvalo, než jsem si našel denní rytmus, který mi umožňoval skloubit všechny činnosti se zbytkem skupiny (odjezd na spot, příprava jídla, úklid a podobně), vlastní programování a odpočinek. Jsem ranní ptáče a proto nějaká aktivita po večerech pro mě byla utopie a ta hlavní pracovní náplň se musela odehrát dopoledne.
  • Chyběl mi kontakt s někým, kdo by mi třeba na denní bázi dával zpětnou vazbu. Znáte to určitě z vlastní zkušenosti, že se do něčeho příliš ponoříte a přitom je to zbytečný detail, na kterém jenom pálíte čas, když těžiště práce je někde jinde.
  • Ergonomie pracovního prostředí. Seděl jsem u jídelního stolu jenom s laptopem. Příjemnější pracovní prostředí by mi třeba pomohlo ještě k větší aktivitě.

Shodou náhod se mnou trávil čas jeden kamarád programátor, se kterým jsem občas konzultoval některé problémy. Pikantní bylo, že na konci už se tak nudil, že pro mě naprogramoval pár drobností. Pokud by měl sebou počítač, a nemuseli bychom se dělit o ten můj, mohl mi pomoci mnohem více. Myšlenka, že tým někam vyrazí a pracuje společně, by v tomhle případě mohla fungovat a dává mi smysl. Navíc tým funguje jako motivační faktor a korekční faktor. Člověk by se cítil ve společnosti geeku přirozeně, když většinu času trávíte u počítače.

Moudro na závěr

Digitální nomádství není pro každého. Pokud si někdo představuje, že s brďolou v ruce na lehátku pod slunečníkem vydělá svůj první milion, pak je ve velkém omylu. Ve výsledku nezáleží na tom, jestli jste tady nebo v Africe, ale kolik času a energie tomu obětujete. Nomádství má dvě strany mince.  Můžete vypadnout z denního stereotypu. Nikdo vás neruší a vy se můžete na plno ponořit do programování, psaní, prostě čehokoliv, na co potřebujete čas a klid. Druhou stranou té mince je, že vám z toho stereotypu možná bude něco chybět například kamarádi, rodina a nebo pracovní prostředí, které vám dopřává jistý komfort. Pokud hodláte spojit příjemné s užitečným, v mém případě sport/zábavu, chce to jistou míru sebekázně. Jinak nic neuděláte, protože mozek bude v režimu prázdnin. Jde o to nastavit si model pracovního dne, kdy to příjemné (zábava) je odměna za to užitečné (práce), kdy bohužel té práce bude trochu více. Na druhou stranu máte tu skvělou svobodu regulovat si ten poměr podle vlastních pocitů.

Kdybych teď znova vyrazil na oněch 14 dní, šlo by mi to určitě lépe, protože jsem si našel režim, který mi to umožňuje skloubit. Jestli bych to doporučil? Nevím, opravdu to není pro každého. Obzvláště pokud nemáte dostatek sebekázně. Jinak to dopadne tak, že zábavu si neužijete a práci neodvedete. Mimochodem doporučuji přečíst článek Dana Tržila Odvrácena strana digitálního nomádství.

 

 

čtvrtek 22. ledna 2015

CZ Podcast 110 - Zátěžové testy

Do dalšího dílu jsme si pozvali Pavla Lukeše a povídali jsme si o zátěžových testech a nástroji Smart Meter, který Pavel vyvíjí ve společnosti Etnetera.

úterý 20. ledna 2015

Mýtus nekódujícího architekta

V poslední době mi trochu chybí kódování a přemýšlím, jestli platí, že nekódující architekt je horší než žádný architekt. Největší nebezpečí nekódujícího architekta vidím ve ztrátě citu pro jemné detaily. Architekt musí mít hlavně kontext, ale udržet si kontext nějakého většího systému znamená, že si holt musí od problému trochu poodstoupit. Jsou to dvě protichůdné síly, které na sebe působí. Poodstoupit si od problému je většinou snazší než si držet cit pro jemné detaily, protože ten nejlépe získáte pokud přímo programujete.

Malá vsuvka, občas mi vstávaly vlasy hrůzou, když během pohovoru kdejaký kandidát na architekta prohlašoval, že jeho představa programování spočívala v přípravě PoC nebo nedej bože zkoušení frameworků. To je dle mého skromného názoru nejlepší cesta k tomu, aby vás začaly vývojářské týmy nenávidět.

Když proto mluvím o programování, mám na mysli to, že si ušpiníte pořádně ruce - což je velký rozdíl oproti tomu rozjet někde HelloWorld a pak prohlásit, že to je ta pravá technologie. Bohužel, aby tohle bylo možné, potřebujete více času než pár hodin týdně. Myslím si, že varování o nekódujícím architektovi vzniklo tím, že práce architekta sklouzla v první řadě k výběru technologií a provádění HelloWorld pokusů.

V GoodData máme dvě role formálně pojmenované architekt. Ta jedna více odpovídá kódujícímu architektovi, protože ten člověk je mnohem blíže scrumovým týmům a jeho odpovědnost většinou nepřesahuje několik služeb. Ten si opravdu ušpiní ruce od kódu hodně často, a u něj by platilo, že nekódování by bylo fatální, protože je součástí dennodenních technických rozhodnutí v nejmenším detailu. Druhá role, které říkáme architekt, už předpokládá, že člověk má představu o fungování systému jako celku.

V mojí práci to třeba znamená, že když stavíme datové centrum v Evropě, mám přehled o tom, jaký to bude mít architektonický dopad, přes různé oblasti systému počínaje bezpečností dat a konče deploymentem. Pro tuhle roli je ten cit rovněž potřeba, protože rozhodnutí typu replikujte data mezi datovými centry, se lehce dělá od stolu s koblihou v ruce, ale má dalekosáhlé dopady na implementaci. Zdá se mi ovšem, že získání toho citu je věcí zkušeností, nikoliv toho, že bych kvůli tomu musel kódovat několik hodin denně.

V téhle roli mi programování spíše chybí, protože to pro mě byla zábava, ale nemyslím si, že je nutností (zatím). Ve většině případů je totiž člověk spíše vyjednávačem, který se snaží, aby se vlk nažral a koza zůstala celá obrazně řečeno. Namísto toho, abyste řešili, jestli použít framework X nebo Y, jestli je lepší používat pro odsazení tabulátory nebo mezery, spíše řešíte návrh a rozšíření systému s ohledem na všechny zainteresované strany - vývojáře, zákazníky, produkt management, podporu, finanční oddělení atp. Doporučoval bych proto místo četby knih typu Sedm jazyků v sedmi týdnech navštívit kurz behaviorální psychologie, vyjednávání a kompromisů, protože o tom ta práce primárně je.