Jak jste se dostali k tomu, co dnes děláte
Aleš: Vždycky mě nejvíc lákalo programování, asi protože jsem introvert. Vyzkoušel jsem pozici OSVČ na nejrůznějších zakázkách v menších brněnských firmách i v zahraničí.
Postupně jsem ale zjistil, že potřebuju práci, kde dostanu možnost mít kontrolu nad tím, co se dělá. A to je důvod, proč jsem v Kentico zůstal tak dlouho – v tomhle mi vyhovuje, nemám potřebu hledat dál. Už jsem tu skoro deset let.
Marek: Před koncem studia na VUT jsem se začal poohlížet po nějaké, řekněme, normálnější práci. Říkal jsem si, že by to mohla být dobrá zkušenost. A kdyby se ukázalo, že to není úplně ono, je poměrně snadné odejít, když jsi student.
Nastoupil jsem tedy v Kentico jako vývojář a už jsem tu osmým rokem. Postupně jsem se stal seniorním vývojářem, pak Technical Leaderem v nově vznikajícím týmu. Teď působím na pozici Principal TL.
V čem bylo Kentico jiné oproti běžné stáži
Marek: Nastoupil jsem, protože jsem se zúčastnil Summer of Code, předchůdce dnešní Kentico Academy. Na léto se vybrali studenti, většinou na tříměsíční stáž. Tehdy nás přijali šest a všechny zařadili rovnou do developerských týmů. Člověk vlastně okamžitě poznával prostředí, ve kterém potom působil, když v Kentico zůstal.
Firma se v tomto roce rozdělila na dva produkty – Kentico Kontent, v té pracuje Aleš, a Kentico Xperience, kde působí Marek.
Zkusíte popsat, jak na produktech fungujete a v čem jsou specifické
Aleš: U nás platí, že i když jsem Technical Leader, nejsem tu od toho, abych lidem říkal, co budou dělat. Jsem člen týmu. V Kontentu jsme samostatní, člověk si vezme nějaký úkol a tomu se věnuje. Na úrovni celé sekce Developer Experience se jednou týdně synchronizujeme – cílem je zjistit, na čem aktuálně pracujeme, jaké jsou problémy, případně jestli není na místě změnit směr.
Během každotýdenních groomingů se díváme, co se udělalo, a ve spolupráci s produkťákem identifikujeme, co je z našeho pohledu důležité a čemu se budeme věnovat dál.
Fungujeme jako samostatní specialisté, kteří spolu mluví. Pracujeme ale stylem, že nikdo nemá poslední slovo – snažíme se vždycky dohodnout společně a zatím se nám to daří.
Je tohle důvod proč k sobě hledáte spíš seniornější lidi
Aleš: Je to jeden z důvodů. V současné chvíli nejsme schopni přibrat někoho, komu bychom připravovali práci a dohlíželi, jestli ji udělal dobře. Prostě oceníme dalšího samostatného specialistu, kterému stačí říct, „tady máme takovýhle problém a tady jsou takové požadavky a taková omezení – podívej se, prosím, co se s tím dá udělat a řekni, když budeš potřebovat pomoc.“ A za týden se znovu potkáme a řekneme si, na na co jsme přišli. Zkontrolujeme směr, kterým se budeme posouvat dál, a pokračujeme.
V čem je Kentico Xperience jiné
Marek: Náš produkt je odlišný. Máme obrovskou codebase, sahá až do roku 2004. Vyvíjet na tom je velký závazek vůči budoucnosti, nechceš dělat zkratkovitá řešení nebo produkt technologicky zadlužovat. Když zohledním to, že nikdy nemáš nekonečně času nebo lidí, daří se nám codebase držet ve formě – není to zastaralý legacy kód, se kterým nechceš pracovat.
Takže i složení týmů na Xperience se od Kontentu liší
Marek: Je různorodější, nevymezujeme se vůči začínajícím ani pokročilým vývojářům. Týmy jsou větší než v Kontentu a narozdíl od Aleše máme více prostoru pomáhat méně zběhlým kolegům v rozvoji.
Máme vlastní buddy program. Když přijde nováček do týmu, někdo ostřílený se mu věnuje.
Buddy je schopen odpovědět na většinu otázek. Ptát se ale může kohokoli. Při téhle péči se nám nestává, že by lidé přišli na zkušenou a po roce odešli. Nebo dostudovali univerzitu a řekli si, že Kentico bylo jen takové dočasné uplatnění a šli někam dál.
Samozřejmě hledáme i zkušenější kolegy, je příjemné, když čas do času přijde senior.
Pro naše juniory je atraktivní, že se dostanou k technologiím, na které si v Brně málokde sáhnou. A pro seniory bývá zásadní míra svobody a odpovědnosti.
Chtějí juniorní a seniorní nováčci v práci jiné věci
Aleš: Pro naše juniory je atraktivní, že se dostanou k technologiím, na které si v Brně málokde sáhnou. Navíc se podílí na zajímavém problému – pracují na cloudovém řešení, které roste a potřebuje být škálovatelné, ustát nápor nových zákazníků. Dokážu si představit, že to není zrovna typická náplň ostatních brněnských firem, které nabízejí juniorní pozice.
A pro seniory bývá zásadní právě ta míra svobody a odpovědnosti – možnost zvolit, jakým způsobem a s pomocí které technologie problém budou řešit. Nepřichází zadání nebo hotová aplikace shora, je na nás vytvořit přesně to, co považujeme za vhodné řešení daného problému.
Které jsou ty atraktivní technologie
Aleš: Především .NET a Microsoft Azure pro vývoj a provoz reaktivních aplikací, které se plynule přizpůsobují aktuální aktivitě uživatelů. Data uchováváme v NoSQL databázích, především Cosmos, pro messaging používáme Service Bus a Event Hub, pro webové aplikace používáme App Services s automatickým horizontálním škálováním. K co nejrychlejšímu doručení obsahu spoléháme na Fastly CDN, která nám mimo jiné umožňuje přesouvat aplikační logiku blíže k zákazníkovi.
Používáme jak .NET Framework, tak .NET Core, a stále experimentujeme s novou technologií pro řešení specifických problémů. Třeba actor-based frameworks (Orleans) a Azure Kubernetes Service pro paralelní zpracování dat, případně Apache Spark pro analýzu uživatelských aktivit.
A co láká lidi do Xperience
Marek: Jako junior se můžeš rozvíjet. Neposadí tě na židli k počítači s tím, že tady odbouchej tento bug nebo naimplementuj tuhle fičuru, a až to budeš mít, přijď. Občas slýchám na pohovorech, že jinde lidé pracují vlastně sami, i když jsou v týmu. Potýkají se s tím, že na ně nikdo nemá čas.
Pro zkušenější lidi může být zajímavá kreativní volnost v práci, není tam žádný manažer, který chodí a říká, „tohle do pátku musí být hotové, v pondělí to jde zákazníkovi.“ Ať řešíme jakýkoli problém, máme adekvátní množství času. Týmy odhadují společně pracnost jednotlivých user storek, zohledňují, co o tom vědí nebo nevědí. A jak si myslí, že to bude náročné. Nejsme pod tlakem, že se nestíhá.
Takže máte čas kód vymazlit
Ano. Je s tím spojené i otevřené prostředí pro psaní testů. Testy vyžadujeme, ale jak je napíšeš, jestli test-driven developmentem nebo dodatečně, to už je na tobě – prostor dostanš na obojí. Výsledkem je pocit spokojenosti, že kód funguje. Ne, že se to rychle odkliká, někomu předá a tím to pro nás končí.
Vím, že ve více projektově založených firmách je často jasně daný plán. Ten se nestíhá, tak se ořezávají „nedůležité“ věci – právě třeba testy. Protože když se výsledek podaří předat zákazníkovi, jsou chyby v kódu už jeho problém. My k tomu takhle ale nepřistupujeme.
Snažíme se mít produkt udržitelný a podporujeme lidi v kreativitě. Zároveň jim dáváme prostor, aby na sobě pracovali v rámci Innovation Time. Neplníme slepě úkoly v nějakém těsném časovém rozvrhu, zlepšujeme sebe i produkt.
S jakými kolegy se vám pracuje dobře
Marek: Mně se líbí, když jsou lidé zvídaví, schopní vstřebat nové věci a řešit problémy. Když narazí na překážku, snaží se nejprve zorientovat sami. Je v pohodě, že na některé věci nepřijdou – něco se dočtou v dokumentaci, a o zbytku se pak pobavíme.
Nejdůležitější je, že navrhnou řešení samostatně a nečekají, že to za ně udělají jiní. Většina otázek nemá jedinou správnou odpověď. Ve finále jde o to, abychom vymysleli variantu, která je přiměřeně jednoduchá a funkční.
Aleš: Mám to podobně. Potřebuju pracovat s lidmi, kteří v sobě mají přirozenou motivaci, zvídavost, touhu poznávat. Je v nich něco, co je žene dopředu – to je základ. Současně očekávám, že umí být nároční. Do diskuse jsou schopni vnést vlastní pohled a nové podněty. Tím pádem nám pomohou objevit něco, na co jsme sami nepřišli, když máme zajetý svůj způsob myšlení.
Chcete víc
Zajímá vás, co naše vývojáře baví, co jim nejde a co je v budoucnu čeká. Jak mají v týmech zorganizovanou práci a co pro ně změnila probíhající pandemie COVID-19? To vše se dočtete v druhé části rozhovoru s Markem a Alešem.
Zajímá vás, jak to u nás chodí, a chcete vědět všechno mezi prvními? Sledujte nás na Facebooku, LinkedIn nebo Instagramu.