Marek Berger z KVIKYMART: “Na technologiích (ne)záleží”


Marek nastoupil do KVIKYMART jako čerstvý absolvent vysoké školy. Po roce se dostal na pozici hlavního backend vývojáře i přesto, že se před nástupem do firmy specializoval na jiné technologie. Jaké byly jeho začátky a kam se za tu dobu posunul čtěte dále v článku.

 

Co tě zaujalo na KVIKYMART? Proč jsi do firmy nastoupil?

Vždy mě lákala myšlenka založení vlastního projektu a pocítění startupové atmosféry. Po dokončení vysoké školy mě na doporučení KVIKYMART oslovili. Byli zrovna ve stádiu "garážového startupu" a hledali backend vývojáře, což bylo přesně, co jsem hledal i já. Bylo tady ale pro mě jedno zásadní negativum – používané technologie.

O programování jsem se začal zajímat už na střední škole i přesto, že v rámci výuky jsme se k němu prakticky nedostali. Učil jsem se sám z knihy popisující základy PHP, diky které jsem pak i vytvořil pár webových stránek, ale nešlo o nic produkčně použitelného.

Zlom nastal, když jsem se dozvěděl o webových frameworcích. Jedním z nejpopulárnějším v České republice byl v té době Nette framework. Samozřejmě jsem ho vyzkoušel a samozřejmě jsem z něj byl v počátku v euforii jako plno českých vývojářů. Po nástupu na vysokou školu mě proto zaskočilo, jak negativní názor zaujímaly tamější učitelé k PHP frameworkům i k PHP jako technologii. Učili tam dívat se na kód z více abstraktního úhlu a používali jazyky a technologie, které na to jsou více uzpůsobené. To mě zaujalo a mým novým favoritem se stal .NET framework od Microsoftu, na kterém jsem postavil jak svou bakalářskou a diplomovou práci, tak i několik dalších mimoškolních projektů. Znalosti PHP a Nette jsem už dále nerozšiřoval.

Není divu, že KVIKYMART nebyla firma podle mých představ, jelikož v té době byl skoro celý jejich produkt postaven právě na PHP a Nette. Nicméně startupový duch mě zlákal natolik, že jsem nabídku přijal. A tak jsem nastoupil do firmy po boku pěti úžasných inteligentních lidí, ale pracoval jsem s technologií, kterou jsem od střední školy nepoužil a neměl jsem ji příliš v lásce.

 

Byly pro tebe začátky v KVIKYMART, kvůli tvé orientaci na jiné technologie, těžké? Jaké změny na sobě teď po dvou letech pozoruješ?

V době mého nástupu vyvíjeli backend 2 vývojáři, kteří se v PHP světě orientovali daleko lépe než já, takže jsem se měl koho ptát. Myslím ale, že naučit se programovací jazyk, pokud člověk chápe principy programování, není nic těžkého. Z tohohle hlediska u mě problém nebyl. U mě nastal problém ještě dřív, než jsem se vůbec k programování dostal. Mým prvním úkolem ve firmě bylo zprovoznění našeho stacku na novém firemním notebooku a připravit ho pro každodenní práci. Zdánlivě jednoduchý úkol na pár desítek minut ovšem zkomplikoval fakt, že jsem se jako uživatel Windows ocitl mezi samými "jablíčkáři". Vše se tak protáhlo na tři dny intenzivní práce doprovázené nekonečným googlením a nenávistnými poznámkami na adresu tvůrců operačních systémů. Výsledkem byl ale připravený stack pro další Windows vývojáře.

Jakmile jsem se dostal k programování, tak jsem se relativně rychle zapracoval i přes mou juniorskou znalost PHP a Nette. Rychle jsem pochopil i fungování a strukturu našeho produktu a již v začátcích jsem, na základě znalostí jiných technologií a postupů, začal navrhovat různé možnosti vylepšení. Potrpím si na psaní čistého kódu a na správném rozložení architektury, čehož si všimli i mí kolegové a heslo "žádné ify" spojili s mou osobou. Nejspíš je to jedna z vlastností, která mě dostala do čela backedových vývojářů v KVIKYMART.

Změny, které na sobě pozoruji? Myslím, že nejvíc mě ovlivnila týmová spolupráce. Když jsem dříve dělal projekty sám, byl zdrojem inspirace jen internet. Z našich firemních brainstormingů jsem pochopil, že osobní kontakt s jinou osobou pracující na stejném projektu, dokáže člověka velmi rychle vytáhnout z nesprávného směru. Taky jsem své znalosti obohatil o nové technologie a postupy, jelikož se v tomhle firma rychle vyvinula a kombinujeme jich stále více. Už to není ani zdaleka původní monolitická aplikace z doby, kdy jsem nastoupil. Trendy vývoje webových aplikací se rychle posouvají, takže je potřeba se stále učit. Na novinky u nás rychle reagujeme, za což jsem rád. Firma mi vychází vstříc, ať už vyhrazením času pro studium a zkoušení, tak účastí na konferencích, díky kterým jsem se mohl blíže seznámit s ElasticSearch nebo Machine learning.

 

Na jaké technologie se tedy specializuješ nyní?

Stále máme velkou část napsanou v PHP, nicméně stavební kameny backendu máme již serverless na cloudové platformě AWS od Amazonu. Snažíme se stále více využívat potenciálu platformy, která toho nabízí hodně, a stále přicházíme s novými nápady jak nabízené služby využít.

Díky tomu jsme dosáhli mnohem lepší škálovatelnosti našich aplikací a některé problémy, se kterými jsme se potýkali, šly vyřešit výrazně lépe a elegantnějí.

Na AWS lze pro serverless nativně používat jazyky jako je Java, .NET nebo Python. My jsme jako náš primární zvolili JavaScript (Node.js.), jelikož byl mezi kolegy nejznámější a hlavně použití jednoho jazyka na backendu i frontendu přináší řadu výhod.

Osobně se mi JavaScript líbí, nicméně s mým objektově orientovaným smýšlením a zkušeností s technologiemi od Microsoftu jsem chtěl prosadit TypeScript, což je typové rozšíření JavaScriptu, přinášející některé koncepty ze silně typových jazyků. To co kolegům chybělo v PHP i JavaScriptu, tak v TypeScriptu je, takže se jim myšlenka zalíbila a backend nově vznikajících projektů píšeme v něm.

 

Kam by ses chtěl do budoucna posunout?

Nejsem někdo, kdo by chtěl bez uvažování “bušit” kód, ale taky si neumím představit, že bych se na samotném vývoji nepodílel vůbec. Pozice hlavního vývojáře v KVIKYMART mi teď vyhovuje, jelikož zahrnuje jak psaní kódu, tak i návrh architektury a vedení lidí. Rád se podílím i na zavádění firemních procesů, které jsou stále více potřebné s přibývajícím počtem klientů a zaměstnanců. Od dob “punkové” firmy, kdy programátor musel řešit vše od vývoje, přes manuální nasazení, až po komunikaci s klientem, jsme ušli kus cesty. Teď je u nás zavedený systém na bázi SCRUMu, který jsme si upravili podle svých potřeb. Díky tomu má vývoj jasnou pipeline, děláme code review, testujeme, nasazování máme plně automatizováno a nastavenou komunikaci s klienty se support týmem. Celkově se zefektivnila a zpřehlednila každodenní práce.

 

Jak si organizuješ svůj čas? Stíháš se věnovat práci i svým koníčkům?

Občas zažívám chvíle, kdy mě práce fakt pohltí a neváhám kvůli ní obětovat volný večer nebo i část víkendu, rovněž se ale najdou chvíle plné frustrací. Proto se snažím vyhledávat aktivní odpočinek a trávit volný čas “offline”. V oblibě mám nejrůznější sporty a již dlouhou dobu se věnuji bojovým uměním. Mimo sportování si rád zajdu na hory, projedu se na motorce a nepohrdnu ani nějakému adrenalinovému zážitku.

Jsem rád, že podobný názor ohledně aktivního odpočinku zaujímají i ostatní v KVIKYMART, takže si v rámci team building akcí zajdeme třeba na motokáry, do kina a v létě se chystáme na paintball, na který teď v kanceláři denně “trénujeme” s NERF pistolemi. Občas se to zvrhne v bitvy, kdy se po kanceláři začnou válet stovky nábojů.