4 měsíce – #sorryjako :)

Asi nemá smysl to moc okecávat, tak prostě přiznám, že jsem na to psaní poslední dobou trošku sr*l 🙂 Několik rozepsaných článků se stalo s plynoucími dny a týdny natolik out-dated (**) , že němelo smysl je ani předělávat, natož dokončovat. No a když už si člověk uvědomil, že už uplynuly dva měsíce od posledního článku, tak by to samozřejmě pojmul celé úplně jinak. No a jelikož teď už jsou to skoro 4 měsíce… tak ani nevím jak to uchopit 🙂 Upřímně bych měl dát (ač velmi nerad) za pravdu Ríšovi, který, na základě literárně-publikačních zkušeností získaných za velkou louží, říkal „na psaní budeš mít čas tak první tři týdny“. Každopádně pozitivní na tom je, což asi ti bystřejší z Vás pochopili, že jsem zvládl zkušební dobu a stále mě to tady baví 🙂

(**) Vězte, že anglické slovo jsem na tomto místě nezvolil proto, abych zamachroval. Nicméně potom, co jsem si několik minut marně lámal hlavu, jak správně sklonit slovo „neaktuální“, jsem raději kapituloval (moje třídní a češtinářka Jitka T. jistě promine:)).

Ještě než začnu psát o něčem snad aspoň trochu zajímavém, řekl bych, že Vám dlužím vysvětlení toho titulku. No – chtěl jsem si na vlastní kůži vyzkoušet praktiku bulvárních plátků, které při snaze nalákat co nejvíce čtenářů volí často naprosto zavádějící nadpisy. Cítíte se podvedeni? #sorryjako, ale o Andrejovi ten článek fakt není (a může za to Kalousek!) 🙂

No a teď (velmi stručně) co se tu za ty 4 měsíce stalo 🙂

Global Induction Na konci května jsem se byl podívat v centrále v Edinburgu, na 2 denním zaškolení pro všechny nováčky. Bylo to super a to hned z několika důvodů:

  1. Na vlastní kůži jsem konečně viděl naše vlastní officy (oproti coworkingovému centru daleko osobnější a hezčí) a to navíc rodiště Skyscanneru.
  2. Na „konferenci“ se sletěli nováčci z officů v Miami, Singapuru, Budapeště, Barcelony a Londýna.
  3. Zbytek členů data tribe (včetně náčelníka) sídlí převážně v Edinburghu, takže jsem měl šanci je potkat osobně.
  4. Edinburg je nádherné město 🙂

24/7 OOH V červnu jsem držel první 24/7 podporu (celý týden) v rámci našeho DevOps přístupu „you build it, you run it“. No byla to poměrně velká výzva, vzhledem k tomu že s některýma službama jsem se ten týden setkal úplně poprvé. Ale není lepší způsob jak se dozvědět o existenci nějaké komponenty, než-li ve tři hodiny ráno na základě kritického incidentu z VictorOps 🙂

S rodinou doma i v Londýně Na konci června jsem si nejprve vyzkoušel dva týdny kompletně vzdálené práce (není to úplně lehké, zejména když zbytek týmu sedí v jedné kanceláři). Ale hlavně jsem si do Londýna na cca 10 dnů přivezl Marťu i s dětma. I přes několika hodinové zpoždění letu byly velcí hrdinové a moc se jim tam líbilo. Elu teda trošku zklamalo, že tam není moc les, ale veverky v Hyde Parku prý supr. No a merry-go-round a další atrakce pochopitelně les vynahradily. Eda se pro změnu ukázal jako slušně vychovaný milovník metra a dalších hromadných dopravních prostředků, který se s vystupujícími lidmi na každé zastávce nadšeně vítal i loučil.

Stěhování Na začátku července jsme se přestěhovali do nových officů na Tottenham Court Road. Kanceláře jsou to moc krásné, stylizované velmi podobně jako Edinburgská centrála. Navíc máme ping-pong, trvale přístupnou ledničku s pivem, mikrohotely a velký „kinosál“ kde pořádáme i veřejné meetupy. Chvilku mi teda trvalo než jsem officy první den (i pár dalších dní) našel, a jak to tak bývá musel jsem se všechny cesty naučit úplně od znova 🙂 Ale i místo je to o poznání zajímavější (=> méně City a více „normálních“ lidí).

London Summer Party Na konci července jsme měli první velký team-building… bylo to pojaté velmi anglicky – jeli jsme do Ascotu na dostihy. Kdo neví o co jde doporučuji vygooglit „ascot drunk photos“ a jste víceméně doma 🙂 Jinak do té doby jsem netušil jací jsou opravdoví britové gambleři. Každopádně team-building zajímavý… 🙂

Santander Cycles Kdo z Vás někdy jel ve špičce metrem po lince central line tak jistě chápe, že se tomu snažím vyhnout co to jde. Pokud to počasí dovolí, tak jsem tady začal jezdit na kole. Santander Cycles, která jsou v Londýně součástí veřejné hromadné dopravy, jsou poměrně komplexním zážitkem. Kromě adrenalinu řízení vlevo, řízení v hustém provozu se cítíte součástí velkého gangu (na některých semaforech s Vámi čeká dalších 40 cyklistů) a rovněž můžete ušetřit za poměrně drahé a přecpané metro. Platíte 2 libry za přístup ke kolům na 24 hodin, pak je každých prvních 30 minut půjčení zdarma, za každých dalších započatých 30 minut platíte 2 libry. Vzhledem k tomu že mi to z ubytování trvá 27 minut, tak nemám moc prostoru na navigační chyby 🙂 Jinak pokud byste se chtěli na tyto kola zeptat kohokoliv místního, tak ti je znají pouze pod názvem „Boris bikes“, podle zde moc neoblíbeného brexit-politika, který je tady zavedl:)

London Office House Warming Party Skoro to vypadá že to tady je samá párty, a taky že jo 🙂 Každopádně 10. srpna jsme měli oficiální kolaudaci nových officů. Přiletěl rovněž Gareth (zakladatel), který kromě proslovu a přestřihnutí pásky měl druhý den ráno Town-hall… no schůzky v 9h ráno po párty mi nikdy nešly, na tuhle se naštěstí dalo připojit online… 🙂 K mému překvapení jsem zjistil, že ne všechny hospody v Anglii zavírají v jedenáct 🙂

Squad merge Ke konci srpna jsme spojili naše dva squady (RoadRunners a TameTigers) v clan B v jeden jediný squad (zatím mu neoficiálně říkáme RoadTigers). Aktuálně má náš tým 12 lidí a sedíme v Londýně (6), Edinburghu (3) a Glasgow (3). Hlavními důvody ke spojení byla jednak drobná úskalí na 24/7 podpoře, druhak fakt, že pracujeme víceméně na společných iniciativách a dává větší smysl fungovat jako jeden tým. Já se díky tomu snažím přesvědčit náčelníka kmene, že bych mohl pracovat víc z domova, jelikož už stejně musíme fungovat jako 100% remote team, tedy „digital first“, tak uvidíme zda se to povede.

To je asi vše, uvidíme zda příští článek zvládnu napsat ještě do vánoc 🙂

Článek, který není o politice.

Omlouvám se za delší prodlevu mezi články, ale mé poslední týdny byly poněkud hektické… Nicméně jak jsem zaznamenal v českých médiích a na sociálních sítích, nemohl jsem pokles své spisovatelské aktivity načasovat lépe! Během právě probíhající politické estrády u nás, se stejně potenciální statisíce mých čtenářů, zabývaly něčím podstatnějším, než co jsem měl k obědu 🙂 A co se tedy za dobu mojí mlčenlivosti událo ?

Nový kolega Dva týdny zpátky se náš squad rozrostl o dalšího člena – připojil se k nám Brit Matthew. Kdo by si snad myslel, že už tedy nejsem největším amatérem v týmu, pak ho zklamu – Matt už má za sebou několik štací s podobným technologickým stackem 🙂 Zároveň je to rovněž táta od dvou synů – 6 letého a 6 týdenního. Aspoň nějaké zkušenosti mu mohu předávat 🙂

Opuštěný hotel 3. týden byl zároveň můj poslední v hotelu na Liverpool Street, od těch dalších již bydlím po AirBnB bytech. Pozornějším čtenářům možná neuniklo, že na adresu hotelu mi mělo přijít national insurance number. Po dvou týdnech napětí již mohu s úsměvem na tváři napsat, že zde konečně mohu bez problémů platit sociální a zdravotní pojištění. Co bych si bez toho také počal? 🙂

Relocation komplikace Aby těch starostí nebylo málo, pak na konci 3. týdne jsme při probírání podmínek čerpání relocation allowance s Rachel, narazili na potenciální legislativní problém mé pravidelné jednodenní práce z domova (resp. z jiné země). Skyscanner si pro jistotu nechal udělat studii od Ernst & Young co to znamená a jak postupovat. S odstupem dvou týdnů mohu rovněž s úsměvem na tváři prozradit, že jsme nalezli řešení k oboustranné spokojenosti (kdo by také nechtěl mít od července/srpna trvale volné pondělí, že? :)).

První prezentace Už jsem zde prozrazoval, že každý pátek máme synchronizační Data Tribe Show & Tell. Byl jsem demokraticky zvolen jako prezentující našeho týmové snažení dostat aplikaci Roces do produkce a přípravu na 24/7 podporu produkce. Konkrétně téma monitoring, alerty a jak používáme nástroj VictorOps (budiž to spoiler alert mého prvního úkolu). No dobře to dopadlo 🙂

Setkání s Garethem (CEO) Příští týden letím do Edinburghu na Global Induction – dvou denní hlubší představení oboru a Skyscanneru pro nováčky. Na závěr mě čeká cca hodinové setkání s Garethem Williamsem – jedním ze tří zakladatelů a zároveň současným CEO. Gareth ale minulý týden přiletěl na chvilku do Londýna, a naše první setkání a představení proběhlo poměrně spontánně ve výtahu (mělo podobu slavného elevator pitche) a bylo super 🙂 Druhý den pro něj všechny squady, včetně toho našeho, dělaly demo. Tedy běhěm hodinové schůzky cca 40 minut kratičkých „prezentacíL co daný squad v poslední době dělal, jak to pomáha Skyscanneru, … a pak cca 20 minut Q & A. Musím říct, že na mě udělal poměrně velký dojem, jak evidentní znalostí technologií, přehledem v oboru, tak i naprostou otevřeností.

První 1:1 Měl jsem rovněž první „one-on-one“ schůzku se svým šéfem Chrisem. Cca půl hodinový pokec, kde jsme probírali hlavně komplikace s relocation, ale zeptal jsem se rovněž na svou performance. Zatím je prý spokojen 🙂 V rychlosti jsme stihli probrat i strategii na co se mám zaměřit příštích pár týdnů a měsíců. Zatím si pořád ještě trošku zvykám na ten obrovský stupeň důvěry, který má Skyscanner vůči všem svým lidem. Je hrozně zajímavé na sobě pozorovat, jak člověk v takovém prostředí funguje. Je to velmi motivující a rovněž velmi zavazující, když Vás vlastně nikdo nekontroluje!

Thirsty Lightning Talks Jednou měsíčně ve čtvrtek, se v Londýnském officu konají tzv. Thirsty Lightning Talks. Jedná se o sérii krátkých max 5 minutových prezentací na různá témata. Prezentovat může naprosto kdokoliv, zajímavé bylo že pár prezentujících bylo zrovna na návštěvě z jiných officů, takže se evidentně rozhodli prezentovat zrovna ten den. Asi nejblíže má svým průběhem tato událost k TEDx talkům. Kromě prvního velmi vtipného příspěvku jak péci chleba, byly vesměs všechny technického ražení. Pochopitelně se k tomu podávalo pivo a různé pochutiny.

V hospodě s Clivem Porušil jsem všechny doporučované letiští bezpečnostní zásady, a stal se poslíčkem pro našeho rodinného kamaráda Petra. Převezl jsem cca 3 kila vážící předmět v dárkovém balení (na omak to vypadalo jako kniha 🙂 ), jeho švagrovi do Londýna. S Clivem – tedy vyznamenaným (OBE) zaměstnancem ministerstva obrany – jsem pak v rámci předání strávil několik hodin v místním pubu, velmi poutavým rozhovorem o historii Londýna, politice a vůbec všem možném. Na závěr večera mi od něj přišel uklidňující email, že jsem se opravdu žádného trestného činu nedopustil, a že v balíčku byla opravdu pouze kniha 🙂

Co tady vlastně děláme

Varování: následující článek obsahuje řadu technických pojmů a je psán pro specifické publikum. Pokud si nejste jistí, zda byste měli být jeho čtenáři, zkuste si prosím provést následující krátký test 🙂 Pokračování bez zvládnutí testu alespoň na 50%, je pouze na vlastní nebezpečí.

Pár lidí mě už upozorňovalo, ať si dám při psaní článků bacha na mlčenlivost. Už jim prý některé příspěvky připadaly za hranou. Vzhledem k tomu, co všechno píšeme na www.codevoyagers.com, mi ani nepřišlo, že bych se k nějaké hraně vůbec blížil. Pro jistotu jsem se na to dnes zeptal Bryana. Říkal ať si s tím nelámu hlavu 🙂 Pro něj je ta hranice platná až pro unikátní business záležitosti (tam zatím ani nemám co prozrazovat 🙂 ). Technologické záležitosti, náš přístup k řešení problémů, které může mít i někdo další, … to vše je prý v pohodě.

Ještě než budu psát o mém prvním úkolu, dovolím si odbočku směrem k high level architektuře. Ono také psát rovnou o parciálních úkolech, by bez toho nemuselo dávat smysl. Už jsem zmiňoval dříve, že náš kmen má za cíl poskytovat data as a service. Směrem ke zbytku organizace to funguje tak, že budujeme SDK pro snadné logování čehokoliv. Ukládají se business eventy, metriky služeb, chování uživatelů v produktu, tak i prosté aplikační logy. Prostě cokoliv kdo chce zaznamenat, je mu to umožněno přes poměrně sofistikovanou architekturu.

Vstupním rozhraním pro zbytek Skyscanneru je Grappler SDK (Python a Java), které odstiňuje většinu producentů dat od čistě HTTP API. Skrz toto HTTP API protékala historicky všechna data, a přes Apache Kafka se ukládala do AWS S3, OpenTSDB (time series databáze) a elasticsearch databáze. AWS S3 je něco jako primární úložiště dat. Nad OpenTSDB probíhá dotazování a reporting přes Bosun (zejména sledování různých veličin v čase, vyhazování alertů při překročení kritických hranic a podobně). Pro monitoring služeb a zobrazování dashboardů pak používáme ještě Grafanu. Elasticsearch se v našem kmeni primárně používá jako zdroj dat pro různé experimenty v Kibaně.

Část KPI našeho data tribe jsou dostupnost dat 99.99% max do 2 minut od zalogování (ještě tam nejsme). Historicky zde došlo k nějakým problémům se ztrátou dat v Apache Kafka, a tak se rozhodli vybudovat novou, spolehlivější větev. V podstatě data putují z rozhraní přes AWS Kinesis Firehose jako datové soubory přímo do AWS S3. Tam jsou „jen“ nějaké AWS Lambda funkce pro konverzi / manipulaci s datovými soubory. Tato větev je zatím v pilotním provozu pro první business event topic. Hlavní výhodou je naprostá bezpečnost uložení dat – jelikož data jdou dvěma službami od Amazonu rovnou do AWS S3. A i nízká chybovost – v podstatě se tam nemá co pos***, jelikož kromě konfigurace AWS CloudFormation (Infrastructure as a code) to neobsahuje žádný custom kód 🙂 AWS cloudové služby monitorujeme pomocí AWS CloudWatch.

Původní větěv se zatím stále používá, výhledově se asi bude i nadále využívat pro non-business metriky. Nad Apache Kafka jsou provozovány téměř real-time výpočty business metric, např. pro potřeby následného fakturování provizí od leteckých společností. Nová trasa Grappler SDK – AWS Kinesis Firehose – AWS S3 je sice bezpečnější, akorát tyto real-time výpočty neobsahuje. No a proč je psát znovu zde, když už existují nad Kafkou. Poměrně správně (z toho co mohu se svými “dvěma týdny znalostí i s cestou” soudit 🙂 ) se tedy rozhodli, že po tom co jsou data bezpečně uložena, je možné zahájit jejich přehrání do původní trasy pro potřeby real-time reportingu. No a tím se pomalu dostávám k jednomu z cílů, co si dali kluci na minulý sprint – přehrání dat z AWS S3 do Apache Kafka

Po zápisu dat do AWS S3 je s využitím AWS SNS uložena informace o novém datovém souboru do AWS SQS. Nad touto frontou pak poslouchá přehrávací aplikace Roces. Ta postupně z fronty vyzvedává informace o nově uložených datových souborech, stahuje je z AWS S3 a jednotlivé zprávy pak přes původní rozhraní posílá do Apache Kafka. Jelikož KPI jsou rovněž na nulovou ztrátu dat, musí se korektně zapsat všechny zprávy z datového souboru, než dojde k potvrzení do AWS SQS. Zní to poměrně jednoduše, jen si to představte s terabyty dat a s průměrným počtem cca 80k zpráv za sekundu. No a nesmíte zapomenout na 2 minuty na end-to-end zpracování – ale jak jsem říkal, ještě tam nejsme 🙂

Protože obrázek vydá za tisíc slov, přiložím nákres od Randyho. Jedná se o druhou verzi, konkrétně takto reagoval na připomínku od Alexe, že by dokumentace mohla být „a bit more jazzy“.

No trošku jsem se rozepsal, abych Vás nezahlcoval informacemi, a zároveň z důvodů vlastní ješitnosti, jsem se rozhodl mému prvnímu reálnému úkolu věnovat vlastní příspěvek. 🙂

Proč „RoadRunners“ a 1. herní večer

Druhý týden za mnou a musím říct, že se cítím o poznání rozkoukaněji! Pracovní týden jsem, stejně jako většina normálních lidí, začal až v úterý. Tím pádem jsem si mohl částečně vyzkoušet svůj 4-denní cyklus v Londýně. Od příštího týdne mi přibudou ještě pondělní home-officy, proto tedy píšu jen částečně. Nicméně mám dojem, že do budoucna sem budu lítat jen na tři dny, a nikomu to vadit nebude. Nebo to budu ob týden střídat 🙂

Chvilku jsem dnes přemýšlel, o čem z toho týdne se vlastně chystám psát. Zatím jsem to vždycky dělal trochu jako hrdina mého oblíbeného seriálu Office (US verze) – Michael Scott. Tedy začnu něco psát, a nemám ani ponětí jak to skončí. Jen tak nějak doufám, že na to po cestě přijdu 🙂 Nicméně moje maminka si stěžovala, že tomu pak nerozumí. Tak jsem se i kvůli ní rozhodl napsat články dva. Jeden pro „normální“ lidi a druhý trochu techničtější / odbornější / cokoliv chcete. Jsem zvědav jestli se mi to povede a také na případné reakce uražených lidí, kteří rozuměli oběma článkům, a i přesto se považují za normální.

Roadrunners Už konečně vím, proč se náš squad jmenuje roadrunners. Ostatně každý squad ve Skyscanneru si musí vybrat jméno, které nesmí obsahovat v názvu projekt, na kterém pracují. Jakkoliv se to může zdát nelogické, je za tím poměrně jednoduché vysvětlení. Komponenty a projekty zde vznikají tak rychle, že občas dochází k vznikům, zánikům či dělení (násobení, …) týmů. Proto si tedy většina squadů zvolila název podle kreslených seriálů. No a náš data squad si zvolil RoadRunners. Kdo by to náhodou neznal, pak se koukněte na nějaká youtube videa.

No a proč kluci zvolili právě tohle? Podle Steva je v tom hluboce ukrytá metafora, jelikož ten pták (předpokládám, že to je pštros), by neměl být nikdy kojotem dohoněn. Tedy ať se v daném díle stane cokoliv, můžete se spolehnout, že mu uteče. No a to má být velmi podobné s cílem našeho týmu. Tedy dostat data na správné místo se spolehlivostí 99.99%, ať se po cestě stane cokoliv. No nevím, v jeho podání to znělo lépe, ale to možná tou angličtinou 🙂

Jelikož tohle je článek pro „normální“ lidi, nebudu zde psát o mém prvním reálném úkolu – to si nechám až do toho dalšího. Už jsem určitě psal, že se tady každý den „něco“ děje. Občas je pro mě velmi těžko rozlišitelné, zda jsou to akce pořádané někým ze Skyscanneru, či zda se jedná o akci centra WeWork. Nicméně tento čtvrtek jsem byl na první interní Board Games Night. Tu pořádají každé 3 týdny lidé ze Skyscanneru. Konkrétně to pořádá Čech Jakub. Jestli teda, příbuzenstvo z východu promine, ještě lze někoho až ze Slezska stále považovat za Čecha. 🙂

Kdo nikdy nebyl na herním večeru, pak to probíhá asi tak, že se dopředu na místním slack kanálu „london-social“ hlasuje jaké deskové hry se budou hrát. Pak se sejdou a překvapivě je hrají a k tomu popíjí místní pivo / cidre. Tenhle čtvrtek jsme hráli karetní verzi hry Sushi Go. Pak jsme se až na místě rozhodovali mezi třema hrama co dostaly stejný počet hlasů. Nakonec byla zvolena hra Evolution jako nejjednodušší (pro znalce je to age 12+/community 10+). No opravdu netuším jak by to dopadlo s těmi těžšími… Nicméně jsem skončil, s naprostým přehledem a tak říkajíc „v suchém triku“, předposlední 🙂 Každopádně je to super způsob jak poznat další lidi z jiných týmů, a jsem zvědav jaké akce podobného typu se tu ještě konají.

No a aby té socializace nebylo málo, pokračoval jsem pak ještě s Alexem z mého týmu na večeři. Ze tří míst co mi nabízel nakonec vybral Nandos, prý je to nejméně „romantické“. Cítil jsem, že má evidentně nějaké trauma a nakonec se mi (po chvilce naléhání) přiznal. Prý jednou vzal kamarádku / spolubydlící na večeři naprosto omylem do romantické restaurace, a pak musel ze stolu odstraňovat svíčky a další dekorace, aby nebylo jejich další společné bydlení ohroženo. 🙂 Kuře ale skvělé!

Week #1 – část druhá

Tenhle článek asi nebude moc populární, ale mám nutkavou potřebu se s Vámi podělit i o pár technicko-organizačních věcí. Pokud dočtete až nakonec, podělím se s Vámi o recept na vynikající oběd 🙂

Organizační odbočka

Pochopitelně to znám zatím pouze z vyprávění, ale jak mi Chris, Bryan, a další popisovali způsob organizace práce, tak to zatím dává velký smysl. Celý náš data tribe má definovanou a jasně popsanou strategii. Je to přibližně 12 stránkový dokument, definující co to znamená poskytovat data as a service, a z jakých high level kroků se to skládá.

Dlouhodobou misí je naplnit následující motto (zatím tomu tak není): Every decision in Skyscanner is driven by complete, timely and accurate data. Na každých cca 6 až 8 týdnů, jsou popsané krátkodobé cíle, které se dále rozsekají do jednotlivých sprintů. Sprinty jsou vždy jeden týden dlouhé, kdy se každý týden dodává business value.

Celé je to značně zjednodušené tím, že tady nedělají odhady pracnosti… “Assumptions will change anyway, so why we should bother with that” 🙂 Naprostá pravda… měří se tedy ve “squado-týdnech”, a měří se dodaná hodnota 🙂 Je k tomu potřeba velký stupeň důvěry, že všichni dělají to nejlepší, co mohou. Ono také asi jednotýdenní sprinty jsou dostatečně krátké, aby se poznalo pokud by tomu tak nebylo. Nemůžu se dočkat až si pár sprintů zažiju, zatím je to spíš rychlý pohled z okna.

Každý den probíhají krátké “stand-upy”. Uvozovky jsem použil proto, že se konají videokonferenčně. Ano, vždy se najde někdo, kdo pracuje vzdáleně a videokonference je tu naprosto běžný způsob pořádání schůzek. Dokonce to mají tak vychytané, že v zasedací místnosti stačí přiložit zaměstnaneckou kartu, a vše automaticky naběhne samo. Kromě toho probíhá každý den krátký “Data Tribe Ops Stand Up”. To je pro většinu kmene nepovinná schůzka, na které se v rychlosti řeší stav KPI na produkci.

Jednou týdně vždy v pátek se koná “Data Tribe – Show & Tell”. Max 30 minutová videokonference, na které squady z data tribe prezentují, co za ten týden udělaly. Data tribe je distribuován v Edinburghu, Glasgow a Londýně (ve dvou patrech). Každý squad má cca 3 – 5 minut na rychlou neformální prezentaci – v podstatě si ukazujou hotové řešení (zdrojáky, verzi na produkci, …). Dnes jsem měl šanci to vidět, a překvapilo mě, jak efektivní a věcné to bylo. Pouze jeden squad leadů se trošku rozpovídal, ale byl během 20 vteřin usměrněn 🙂

Technologická odbočka Když jsem před nástupem telefonoval s Richardem, což je data tribe lead, ptal jsem se ho na technologie a nástroje které používají, a na které bych se měl podívat. Ze spousty názvů, co mi v rychlosti pověděl, jsem alespoň z rychlíku znal elasticsearch a Apache Kafka (== projel jsem si jeden dva tutoriály) 🙂 Abyste si mohli sami udělat představu, kolik učení mě čeká, pak hrubý seznam vypadá následovně:

  • AWS cloud služby – obecně (management console, self-service portál, auto-scaling, …)
  • docker
  • Drone.io docker-based CI nástroj
  • Slingshot (interní nástroj pro deploy do AWS clouds)
  • AWS Route53 (distribuovaný DNS)
  • AWS Elastic Load Balancer
  • AWS C2
  • AWS ECS
  • AWS S3
  • AWS Kinesis Firehose
  • Apache Kafka
  • AWS Lambda
  • AWS SNS a SQS
  • OpenTSDB
  • Redshift
  • Elasticsearch stack (Logstash, Kibana, Elastic)
  • Grafana
  • Bosun

Oběd ve Vital Ve čtvrtek mě kluci vzali na oběd do restaurace Vital. To je místo, ve kterém si můžete poskládat svůj vlastní salát. Nejdřív si ze samooblužného boxu vyberete základ – v mém případě vaječné těstoviny. Dále pak pokračujete k obsluze, kde si vyberete si 1 z 12 druhů masa, 5 z 20 vegan příloh, 2 omáčky… na vše máte asi 10 sekund jelikož tam jsou velké fronty a obsluha pospíchá. No kluci ze mě měli trošku srandu, jelikož jsem absolutně netušil co jsem si objednal. Společnými silami se nám recept částečně povedlo zrekonstruovat… určitě tam byly tortilla nachos, red beans, chilli omáčka, kokosové pesto… a dále netuším. Ale kupodivu to bylo docela dobré 🙂

Velikonoční párty V tom co-workingovém centru WeWork je téměř každý den nějaká akce nebo párty. Už jsem zmiňoval, že free beer je tam každý den od 2pm, ale poměrně často se tam dá i najíst 🙂 Ve čtvrtek v předvečer velikonoc, tam na mě, kromě vtipně vyhlížejících lidí v maskách velikonočních zajíčků, čekaly vynikající hot dogy. No asi to tady nějakou dobu vydržím 🙂

Week #1 – část první

Sedím právě v odletové hale na Stanstedu, a přemýšlím o vtipném a originálním názvu pro tenhle článek. Asi jste si všimli, že jsem nebyl příliš úspěšný 🙂 Každopádně… v dnešní sváteční den se Londýn proměnil v město duchů. Snad s výjimkou okolí nádraží na Liverpool Street, jsem na ulici téměř nikoho nepotkal. V práci to bylo o pár jednotlivců lepší – Skyscanner má totiž v oblasti dovolené poměrně flexibilní politiku. V UK nabízí 32 dnů dovolené, a jestli se rozhodnete vzít volno na tzv. bank holidays je zcela na Vás. Tady si dovolím malou radu pro všechny, kdo by někam pracovně letěli. Je dobrý nápad, si ještě před zakoupením letenek zjistit, kdy jsou v dané zemi svátky. Mně se samozřejmě nic takového nestalo (ehm), a i o té politice jsem dopředu věděl, ale někomu jinému by se to možná hodilo vědět 🙂

Ten týden utekl strašně rychle a pochopitelně se toho stalo docela dost. Bohužel jsem si již 3. den přestal dělat poznámky, ale zkusím to nějak dát dohromady.

2. den V noci jsem pořádně nemohl spát… po prvním dni jsem vůbec nevěděl, s čím mám v tom kvantu úkolů začít. Dokonce jsem si ve 4 ráno musel rozsvítit, a napsat alespoň hrubé poznámky, co mi přijde na další den důležité. Možná trošku profesní deformace, ale usnout mi to rozhodně pomohlo 🙂 Asi největší strašák pro mě bylo získání national insurance number. To je jakési osobní číslo, pod kterým se zapisují platya všech daní na úřady. Na středu jsem měl již přes web domluvenou schůzku na příslušném job office centru, nicméně stále nemám trvalou adresu, bez které ho nelze získat. Email s dotazem co v mé situaci dělat (zatím bydlím na hotelu, něco trvalého si seženu nejspíš až po zkušebce), zůstal až do pozdního odpoledne bez odpovědi. Mých 17 pokusů o navázání telefonického kontaktu, se jim také dařilo poměrně úspěšně ignorovat 🙂 Naštěstí jsem byl ve Skyscanneru odkázán na Rachel, která jako Business Partner pro UK ví co a jak. Na druhý den mi připravila potvrzující dopis že u nich pracuji, kde bydlím atp. Zbytek dne jsem strávil prokousáváním se technickým onboarding tutoriálem od Chrise… a pochopitelně poznáváním dalších a dalších kolegů. Přijde mi až neskutečné, jak jsou všichni milí 🙂

3. den Ráno se konečně osobně potkávám s Chrisem, tedy mým line manažerem. Jdeme rovnou na kafe, kde zjištuji, že má stejně starého syna, jako je můj Eda. No myslím že si budem rozumět 🙂 Po chvilce mi vysvětluje, jak typicky probíhá onboarding nováčků. Proces je v podstatě následující:

  • První týden se zkus prokousat tím, co jsem ti poslal (technický tutoriál pro vytvoření a deploy prvních microservice na AWS cloud), a kdybys cokoliv potřeboval tak se ozvi.
  • Příští týden se pak s někým „spáruješ“ a budeš řešit věci s ním.
  • Každý čtvrtek v 10:15 je ProdOps meeting, tam se řeší co se posr*** na produkci. Je dobré se toho od začátku účastnit, aspoň si zvykneš na pojmy co se tu používaj.
  • Během cca tří týdnů bys takto měl mít high level představu o tom, co dělá tvůj tým.
  • Během pár měsíců bys měl mít představu o tom, co dělá celý tribe.

Pak už mířím na domluvenou schůzku v job office centre, kde jsou všichni, navzdory tomu co se můžete dočíst v některých českých médiích kvůli brexitu, strašně příjemní. National insurance number bych měl dostat poštou, v rozmezí 2 až 4 týdnů na adresu hotelu, kde jsem příští dva týdny ubytován. Prý se jedná o jediný způsob, jakým se své NIN mohu dozvědět. No, stresovat se tím nebudu. Pevně věřím v rychlost místních služeb úřednických, i v rychlost služeb poštovních poslíčků jejího veličenstva. A v nejhorším podplatím recepční, aby mi dopis doručila, i když už tam nebudu bydlet 🙂

V podvečer si všimnu, že kousek ode mě v kanclu sedí Bryan (CTO), se kterým jsem měl zajímavý cca 30 minutových telefonát. Jdu se s ním osobně seznámit, ale nevšimnu si nepřipevněného Apple Ipadu u zasedačky vedle jeho místa. Ipad spadne displejem na zem… no jak lépe zahájit seznamování že. Nicméně on se na mě s úsměve otočí ať si nedělám starosti, že jemu se to stane tak maximálně pětkrát za den. Pak se mě zeptá jestli už jsem měl pivo… 🙂 Ano, nemají pouze Beer Fridays, ale pivo je tam k dispozici každý den po druhé odpoledne. Dáme si spolu dvě piva, a bavíme se o všem možném. Později přijde řeč na Prahu, kterou má prý moc rád a nápadu na pobočku v Praze se vůbec nebrání (dokonce s tím přišel sám). Prý se snaží mít co nejmenší počet poboček ve světě, nicméně pokud se bude otevírat další, pak je Praha na řadě 🙂 Přidávám mu pár pochopitelných a pádných argumentů proč je to skvělý nápad… No a kdo znáte moji tvrdohlavost, pak už jistě víte, že se cca za 2 – 3 roky můžete v Praze těšit na zajímavou pracovní příležitost 🙂

Po dvou pivech už nemá smysl pokračovat ve čtení tutoriálů, a tak raději pokračuji v socializaci. Narazím na Davida, se kterým jsem se potkal na pohovoru. Velmi mě potěšil, že si mě jednak pamatoval (včetně jména) a že se ke mně sám tak nadšeně přihlásil. Začínám chápat, proč je pro ně cultural search během pohovorů tak důležitý, a zjevně se to vyplácí.

Slíbil jsem Vám, že Vám prozradím, z čeho jsem měl kulturní šok. Pochopitelně jsem měl na mysli spíše šok ve smyslu firemního fungování. Přijde mi až neuvěřitelné, jak vysoký stupeň důvěry Skyscanner vůči svým lidem má. Nikdo tady nikoho nekontroluje, nikdo nikam nevykazuje strávený čas. Nikdo neřeší, jestli jste v práci 4 hodiny, nebo 10. Klidně můžete libovolné množství času týdně strávit studiem kurzů na interní Skyscanner University nebo děláním čehokoliv jiného. S nikým to nemusíte ani konzultovat. Vy jste ten, kdo o těchto věcech rozhoduje… jsem z té odpovědnosti upřímně trochu nesvůj 🙂 Celé je to postavené na vysokých nárocích během pohovorů, najímáním motivovaných lidí a udržování jejich motivace tím, že jim dávají hodně challenging úkoly. Např. v mém případě jde z 90% o věci, které jsem v životě neviděl 🙂

No ve stoje na gate se nepíše úplně nejlépe, zbytek týdne tedy v dalším článku. Těšit se můžete na high level popis organizování vývoje našeho kmene.

Day #1

Tak nějak nevím, kde mám začít 🙂 Zkusím to tedy vzít pěkně po pořadě. Podle posledních emailových instrukcí, jsem se měl v pondělí dostavit na 9h ráno na recepci budovy WeWork na Moorgate. Tam jsem se měl potkat s Yasmin, jejíž vizitka zní „Exec PA / Office Manager“ (whatever that means 🙂 ). Trochu mě zaskočila svým výrazně delším účesem, než jaký jsem očekával podle jejího LinkedInu. Vzpomněl jsem si na svůj první den v Profinitu, kdy mi něco podobného provedl Martin Z. 🙂 Hotel mám naštěstí pouhých 15 minut příjemné ranní procházky odsud – idylka – no posudťe podle fotek sami. Jak to teď píšu, vzpomněl jsem si na příběh pražáka o odhazování sněhu 🙂 .

Přiznám se, že mě zde trošku zaskočilo počasí. Popravdě jsem v Londýně po čtvrté, a téměř jsem zde nezažil déšť. Britští kolegové jsou z toho viditelně trochu rozhození. Co jsem stihl vypozorovat, moc rádi si na počasí postěžují, a vyhnou se tím vážnějším tématům (jako je zde např. brexit). No tento týden je to pro ně jedna velká čára přes rozpočet. Nicméně… 🙂 Včera nás nastupovalo hned několik. 3 nováčci tady v Londýně a 1 nový kolega v Barceloně. Hned na úvod jsme absolvovali cca hodinové vzájemné představení přes videokonferenci po trase Sofia – Londýn – Barcelona. Evidentně jsou na vzdálenou práci naprosto zvyklí, což je pro mě velmi dobrá zpráva. Už tohle úvodní povídání mě naplňuje pocitem, že pohovory (a vše co jsem si dosud myslel), nebyla jen „předvolební kampaň“.

Další schůzka už byla onsite s Alexem z „Developers Enablement Tribe“. V rychlosti nám představil poslání jeho kmene, architekturu a vůbec základní inženýrské hodnoty. Líbila se mi hlavně jeho očividná upřímnost a otevřenost o aktuálním stavu věcí. Jedna z věcí, na kterou člověk při dodávání software na zakázku, navíc v multi-vendor prostředí, moc nenarazí 🙂

Po této schůzce už jsem byl odveden na místo a představen kolegům z týmu. Jsem aktuálně v „Data Tribe“, konkrétně v „clan B“. Ano, „Data Tribe“ má místo squadů klany, ale o tom až někdy příště. A ano, ptal jsem se, je to čistě rozlišovací opatření. Nicméně i tak bychom to měli nechat změnit 🙂 Cílem „Data Tribe“ je v podstatě vybudovat „Data-as-a-Service“, zejména pro interní zákazníky (primárně marketingové a businessové buňky). Podle dat, které tým loguje, se vyplácí provize celé firmy, takže to jsou „poměrně“ kritická data. Ostatně na post-mortem nebo chcete-li lessons-learned schůzkách (prostě tzv. „what have we fuc**-up meetingy“ 🙂 ), byly poslední tři příspěvky právě z mého týmu.

První koho jsem z týmu poznal, byl Lotyš Randy. Opět potěšující zpráva – už třetím rokem provozuje stejný způsob práce (tedy 4 dny onsite, 1 den z domova), s jakým sem přicházím já. A to jsem si myslel, že budu „weird czech guy“ 🙂 Dále jsem zatím stihl poznat Portuglce Andrého, Itala Domenica (čti „do-mééé-ny-ko“), Angličany Alexe a Chrise, a „řekl bych že Skota“ Steva. Chris je můj line manager, nicméně jsem se s ním potka pouze přes videokonferenci. V pondělí a úterý potřeboval home-office – opět, za mě v pohodě 🙂 No velké potěšení, pro mě bylo pracovní prostředí – jak si můžete všimnout na fotkách, „mám“ okno (v sedmém patře) i s opravdovým výhledem ven 🙂

No a co je pro mě v tuhle chvíli největší kulturní šok? To Vám povím příště 😉

Cesta do Skyscanneru – část čtvrtá – nabídka

Pokud podle názvu příspěvku čekáte, že bude obsahovat všechny detaily nabídky, pak Vás hned na úvod musím zklamat. Místo toho Vám ale řeknu, jak to bylo dál 🙂 Hned v pondělí ráno mi volal Alan s poměrně dobrou zprávou. Feedback ze všech pohovorů byl prý pozitivní, a chystají pro mě nabídku. Dokonce i angličtina byla na místě více méně bez problémů. Nicméně by preferovali, abychom se kvůli dvěma oblastem z pohovorů, drželi již domluveného scénáře (tedy že začnu jako senior software engineer, a po absolvování jejich 4 měsíčního manažerského kurzu, bych se posunul dále, pokud bych chtěl). První z oblastí, byly moje nulové zkušenosti z „fast paced environment“. Druhou, pak moje pouze teoretické zkušenosti s architekturou distribuovaných aplikací. No za mě asi dobrý myslím si 🙂 Přes pohovor na senior software engineera, bych po letech hands-off role asi jen tak neprošel. Domluvili jsme si telefonát na konec týdne, až budu mít nabídku v mailu a byl jsem velmi zvědav co pošlou…

Ve čtvrtek jsme s Marťou, po asi 5 letech, vyrazili na hory do Špindlu, a pohovory jsem na chvíli pustil z hlavy. V pátek odpoledne mi volal Alan, zrovna když jsem se oddával polednímu klidu (ano drželi jsme ho poctivě i když jsme jeli bez dětí 🙂 ). Snažil jsem se ve dvě odpoledne neznít moc rozespale. On na mě rovnou začal chrlit klíčové body nabídky, kterou se mi chystal právě poslat mailem. Bylo to hodně informací, a to, čemu jsem ve svém aktuálním rozpoložení rozuměl, to znělo velmi rozumně. Nicméně díky mojí rozespalosti jsem nezněl příliš nadšeně, což je v této situaci vždycky dobrá varianta pro vyjednávání. Poprosil jsem ho, ať mi to pošle, a že si zavoláme v úterý 🙂 Na pondělí jsem totiž měl ještě domluvený pohovor v Zurychu s firmou Centralway, a chtěl jsem mít spolu s výsledkem z Amazonu všechny vstupy k rozhodování.

Pohovoru v Zurychu se tady moc věnovat nebudu – pouze popíšu jak jeho výsledek vstoupil do mého rozhodování. „Bohužel“ jsem od této firmy dostal nabídku. Slovo bohužel jsem použil proto, že kromě finanční stránky (kdo má představu o švýcarských platech a nízkých daních pak mi asi rozumí) a krásného zázemí s restaurací a posilovnou, na ní nebylo vůbec nic zajímavého. Naopak firma měla zvláštní firemní kulturu – v dnešní době vůbec nedovolovali home officy. Nicméně nabídli mi flexibilní pracovní dobu – mimo „core hours“, kdy chtějí mít všechny v práci, bych mohl chodit jak bych chtěl. Jo a core hours jsou prý 9 – 17 monday to friday (bez pr***) 🙂 Pravda že tam měli krásný kinosál, kde se prý společně koukají třeba na fotbalové mistrovství. Jo a taky v něm mají pravidelně každý pátek nejdůležitější firemní schůzku týdne. V pátek v 17:00… No ale ty peníze prostě člověka nutily přemýšlet 🙂 Víc už psát raději nebudu, podepsal jsem poměrně brutální NDA s pokutou cca 100k CHF tak to odmítám riskovat. 🙂

O víkendu jsem se na nabídku od Skyscanneru podíval podrobněji a sepsal Alanovi návrh na vylepšení. V tuhle chvíli mi šlo hlavně o dojednání toho speciálního režimu – tedy buď 4 dny „long hours“ práce v Londýně a 3 dny volna, nebo alespoň 4 dny v Londýně a 1 den home office. Finanční stránka byla velmi rozumná, řekl jsem si u nich o rozmezí x – y a nabídli mi jako základní plat rovnou y a k tomu 10% bonusu. Tedy netřeba nic dalšího vyjednávat 🙂

V úterý jsme si s Alanem volali a probírali moje návrhy. Řekl mi, že on občas pracuje z domova i dva dny týdně, a že v tom nevidí problém. Pochopitelně v časech nějakých větších releasů je dobré být poblíž, ale rozhodně nevidí důvod, proč by to nemělo fungovat. Dokonce mi navrhl pátek, jako můj home office day, se zdůvodněním, že ne že by v pátek nepracovali, ale je to přeci jen pátek 🙂 Při porovnání s curyšskou pracovnou moje srdce, i přes značný finanční rozdíl (hlavně kvůli daním ve Šwajcu), vědělo kam nejspíš patří.

Alan mi jěště nabídl, že mi domluví call s mým budoucím nadřízeným, ještě než dám svoje finální rozhodnutí. Dokonce mi nabídl i call se CTO firmy Bryanem, který mi prý může vysvětlit rozdíl mezi Skyscannerem a Amazonem, jelikož tam několik let vedl odděleni inženýrů. Oba cally jsě nadšeně přijal, a musím říct, že na mě oba pánově udělali velmi dobrý dojem. Zejména Bryan, který mi cca 30 minut vysvětloval na příkladech, jak jim funguje jejich squad & tribe struktura, jaké mají cíle, jak vypadá delivery process, atp. Prostě velmi příjemných 30 minut, po kterých jsem okamžitě poslal mail, že akceptuji jejich nabídku 🙂

O Skyscanneru – Follow up & next steps…

Po prvním skypovém kole s recruiterkou Lorraine mi přišel email s „pár“ informacema o firmě 🙂 Jsou to všechno veřejně dostupné informace, ale stejně se o ně podělím, je pěkné je dostat všechny pěkně pohromadě. Obzvlášť zajímavý je squad & tribe model, který původně vymysleli ve Spotify. Řeší to škálování agile a zachování start-up kultury i při raketovém růstu firmy. Koho zajímá devops a continuous delivery, doporučuji sérii článků From 20 to 2 million releases a year.

Some recent blog/tech updates include:

Our jobs pages also have a few videos on our key engineering positions – you’ll find one here at the bottom of the page – which really describes very well what our teams are working on and the complex technical problems we’re solving every day.

There are also several videos on our Skyscanner consumer and Skyscanner Engineering YouTube channels if you’re interested in more content however we recently launched our new Engineering Blog at http://codevoyagers.com

Some good blogs we’ve produced to discuss our ‘tech stack’ and engineering approach: not-all-the-technologies

No jsem velmi zvědav až to uvidím aplikované v praxi, a pochopitelně se o to rád podělím 🙂