30. června 2017

Je to daleko náročnější, ale to je ta správná výzva, říká „chirurg“ ze Zonky

Profilový obrázek

Už jako dítě Tomáš Vaněk rád rozebíral hračky, aby se podíval, co je uvnitř. Tahle zvědavost mu zůstala do dnes. Jen hračky vyměnil za software. V Zonky funguje jako takový „chirurg“: když se někde objeví složitý technický problém, Tomáš se ponoří do hlubin Javy, zjistí, v čem je háček a chybu opraví. Jak se mu v Zonky líbí a proč vyměnil velkou banku za mladou firmu? 

Text: Pavla Francová, Foto: Jitka Halířová

Zonky jsi od začátku roku, předtím jsi pracoval ve velké bance. Proč jsi udělal takovou velkou změnu?
Chodí mi dost pracovních nabídek a většinou se na ně už ani nedívám. Není to nic zvláštního, v IT je to celkem běžné. Ale tady se sešlo pár okolností a já tu nabídku otevřel.

Jakých okolností?
V prvé řadě ten mail poslala slečna s moc hezkou profilovkou, což mě jako chlapa samozřejmě zaujalo. Když jsem nabídku rozklikl, uviděl jsem tam jméno Romana Pichlíka alias Dagiho, kterého jsem znal z jeho podcastu. To mě přimělo se o nabídku víc zajímat, přečetl jsem si ji ještě jednou a pozorně. Tou dobou jsem byl ale zrovna na dovolené a odpověděl asi až o týden později, moc jsem s tím tedy nepočítal.

I tak to ale vyšlo a ty jsi do Zonky nastoupil. Znal jsi tu službu už předtím?
Znal jsem ji pouze z reklamy, jinak jsem ale moc netušil, o čem to vlastně je. Více jsem se začal zajímat až následně, kdy jsem tomu začal přicházel na chuť a zjišťoval, že se mi koncept toho projektu celkem zamlouvá. Navíc myšlenka, že bych pracoval s Dagim, který je v českém IT známou osobností, mě hodně lákala.

Jak se liší práce tady od ČSOB, kde jsi byl předtím?
V ČSOB jsem měl na starosti správu a rozšiřování interních frameworků. Ty představují jakési základy, na kterých se pak staví výsledné aplikace.

Zjednodušeně řečeno jsem programoval pro ostatní programátory, abych jim usnadnil práci. Vždycky jsem byl spíš techničtější typ a řešil úkoly, že někde něco nefunguje nebo to sice funguje, ale pomalu, apod.

V Zonky na to navazuju, ale zároveň se mi rozšiřuje pohled i na další věci, nedělám už jen čistě technické úkoly.

Počkej, to mi musíš vysvětlit. Co myslíš tím techničtějším typem?
Když vyvíjíme nějakou aplikaci, tak mě víc zajímá, co je pod pokličkou. Víc než konkrétní byznysový model nebo to, co vidí samotní uživatelé, mě spíš zajímá, jak je to naimplementované, jestli je to vhodně navržené, běží to rychle a efektivně a tak podobně.

Třeba aby aplikace nebo stránka nepadala, když se přihlásí hodně lidí?
Ano, to byl jeden z problémů, který jsem dostal na Zonky na starosti. Nyní by měl být tento problém snad již úspěšně vyřešen. Jinak bych ještě dodal, že moje práce v Zonky se liší od toho, co jsem dělal v bance, taky v tom, že tady musíme být všichni víc univerzální a musíme mít větší povědomí o aplikaci jako celku.

Je to těžší?
Určitě je to daleko náročnější, ale na druhou stranu je to výzva.

Šel jsem sem s tím, že to bude náročné, ale zároveň se toho spoustu naučím a dostanu se k mnoha zajímavým věcem.

Zonky je menší firma a je tu jiná kultura než u velkých společností.

Jak to myslíš?
Když chce člověk prosadit svůj názor nebo nápad, není to tady problém. Domluvíme se, a pokud to má nějakou přidanou hodnotu, může to být relativně rychle zapracované. Je to tu mnohem dynamičtější, a to mi vyhovuje.

Ve velkých firmách člověku přijde už vypracované zadání, on ho jen přebouchá do kódu a ani vlastně neví, co programuje. Tady se musí každý aktivně zapojit, a když se mu něco nezdá, tak to opřipomínkovat nebo ideálně přijít s nějakým vlastním řešením daného problému.

V Zonky jsi měl za úkol zajistit, aby se nezasekávalo tržiště. V čem byl háček?
Ano, přesněji řečeno jsem se zabýval analýzou toho problému. Samotnou realizací toho řešení se pak zabýval už zas někdo jiný. Problém se týkal toho, že když se na tržišti objevila půjčka se zajímavým ratingem, přitáhlo to pozornost velkého množství investorů, kteří se ji snažili všichni naráz zainvestovat. Stránka ten nápor neustála a přestala fungovat.

Paradoxní je, že problém byl z velké části zapříčiněný tím, že jsme dbali na bezpečnost a používali výpočetně náročnější, a tedy i bezpečnější algoritmus na zpracovávání hesel. Bohužel to, že je algoritmus náročný nejen pro případné útočníky, ale rovněž i pro naše vlastní servery, nám došlo až touto cennou lekcí.

Tenhle zásadní problém měl pak dominový efekt do dalších částí aplikace, čímž se jeho dopad ještě znásobil.

Jak se ti to povedlo vyřešit?
Byl jsem v Zonky relativně krátce, když jsem dostal tenhle úkol na starosti, takže jsem z toho byl celkem nervózní. U takovýchto záležitostí může člověk dlouho pátrat a na nic nepřijde. Nebo má štěstí a rozlouskne to úplnou náhodou.

Několik dnů jsem zkoumal kód aplikace, seznamoval se s monitorovacími nástroji a pokoušel se tomu přijít na kloub. Už jsem z toho začínal být docela zoufalý, pak ale přišel správný okamžik, kdy problém vystrčil růžky, já se měl od čeho odpíchnout a mohlo začít zkoumání příčiny problému.

Zvažovali jste víc variant, jak z toho ven?
Přesně tak. Nakonec jsme to vyřešili přes mikroservisy, kdy máme několik strojů specializovaných pouze pro zpracovávání hesel. Nyní když se přihlašuje nějaký vyšší počet uživatelů najednou, tak se ta hesla zpracovávají na vícero strojích nezávisle, a nikoliv pouze na jednom serveru, jako tomu bylo dříve. To odstranilo základní příčinu problému a pak jsme ještě řešili další související problémy, které se zasloužily o prodloužení nedostupnosti platformy.

V týmu vývojářů se ti říká chirurg. Proč?
Asi to bude proto, že se rád zabývám „vnitřkem“ aplikace, rád zjišťuju, jak co funguje, a když třeba vidím, že by šlo někde něco zjednodušit nebo vylepšit, tak to udělám.

Už odmalička jsem rád rozbíjel různé věci, co mi přišly pod ruku, různé hračky apod. Protože mě vždy zajímalo, jak je to uvnitř udělané.

To mi v zásadě zůstalo až do teď, akorát jsem z hardwaru přešel na software, protože tam lze vše jednoduše vrátit do původního stavu.

Na čem jsi v Zonky za ten první půlrok ještě pracoval?
Stejně jako ostatní vývojáři jsem dělal třeba na novém schvalovacím procesu, kde bylo cílem zefektivnění odbavování nových poptávek o půjčky, tak aby byl celý proces co možná nejrychlejší a co nejméně zatěžoval lidi z backofficu. Další problém, na kterém jsem taky pracoval, byly opožděné push notifikace.

Čím to bylo?
U startupů nejsou takovéto typy problémů nijak neobvyklé. Na začátku projektu, kdy se ještě neví, jestli bude úspěšný, či nikoliv, se prostě něco rychle spíchne a vypustí se to na trh. Kvůli tomu tam jsou určité historické pozůstatky, které někdy způsobují problémy a se kterými se musíme občas poprat. U notifikací byl problém v neefektivitě načítání dat z databáze, což je mimochodem relativně častý problém. A když se dotahovaly informace o několika tisících odběratelů, tak to pak nějakou dobu trvalo.

Máš i nějaké koníčky mimo svou práci?
Mým největším koníčkem je programování. Začal jsem s tím, když mi bylo asi 13 let. Tehdy mě fascinovala možnost vytvářet externí aplikace pro mobilní telefony Nokia a jediné, co jsem o tom v té době věděl, bylo, že jsou napsané v Javě.

Tak jsem šel do knihkupectví a sáhl tam po první knížce o Javě, kterou jsem uviděl. Až vzápětí jsem zjistil, že těch Jav je víc a že ta mnou zvolená knížka mi k tomu mému cíli nijak nepomůže.

Sice jsem si tehdy koupil úplně jinou knížku, než jakou jsem potřeboval, ale dostal jsem se tak k plnohodnotné Javě, která se používá na velké aplikace, a pravděpodobně to byl nejšťastnější omyl mého života.

Takže jsi takový samouk?
Jsem. Doma si pořád něco kutám a i ve volném čase se věnuju programování. Jen tak se člověk může dál zdokonalovat. Programování je určitě hodně o samovzdělávání. Svět IT je strašně rychlej a to, co je populární dnes, za pár let už být nemusí. Každopádně programování mě strašně baví a jsem rád, že jsem se k tomu dostal i profesně.

Máte nápad na rozjezd vlastního podnikání, nebo potřebujete třeba vylepšit své bydlení? Zkuste půjčku od lidí na Zonky. Lidé půjčují lidem, levněji a s klidem. 

Sdílet článek