Bude se jednat o trochu netypický rozhovor, tedy druhou část rozhovoru o DEV týmu. Většina rozhovorů, které se dějí ve světě FinTechu se týká té první části Fin – tedy finanční, my se ovšem spolu podíváme na tu druhou část, za kterou se schovává většina úspěchu, tedy Tech stránku. První část rozhovoru naleznete zde.

Jak probíhá hlavní část hiring procesu? (mimo klasicky screening atp.)

Při screeningu a na prvním kole interview zdůrazňujeme, že seznamování se by mělo být oboustranné / pojímat ho jako dialog. Je naprosto v pořádku si nakonec plácnout či neplácnout, ať už je zájem o spolupráci iniciován z naší strany, nebo ze strany uchazeče. Nejhorší je si potřást rukou a následně zjistit, že jedna strana měla jiná očekávání nebo neúplné informace. Onboarding je pak pro všechny zúčastněné ztrátou času. Velmi akademicky řečeno, během přijímacího řízení se snažíme zvýšit pravděpodobnost, že všichni učiní informované rozhodnutí.

Pokud jde o hodnocení dovedností kandidáta, tak u vývojářských pozic neřešíme klasické algoritmické úlohy, ale vybíráme praktické problémy z backlogu, případně takové, které jsou velmi podobné něčemu, na čem aktuálně pracujeme. Programovací dovednost jsou jedna věc, úkoly spojené s návrhem systémů druhá. Vzhledem k tomu, že velká část vývojářů napřímo spolupracuje s produktovým či jiným Twisto týmem, musí být dobrými konverzačními partnery. Není to o tom “převést zadání do kódu”, je potřeba navrhovat různá řešení, přemýšlet o trade-offs a v neposlední řadě (spolu)rozhodovat.

Pro vybrané vývojařské pozice, a zejména pro ty manažerské, pořádáme tzv. „bootcamp“. To je praktika, kterou jsem si osvojil v CreativeDock a dal jí o něco strukturovanější podobu. Během bootcampu si uchazeč “nanečisto” vyzkouší pracovní den v Twistu a za pomoci potenciálních budoucích kolegů řeší reálnou / realistickou iniciativu. (Jeden z kandidátů tohle cvičení nazval „LARP„.). Bootcamp má dva hlavní cíle – poznat se jako lidi (kulturní a týmový fit) a zhodnotit hard skills, což v praxi znamená nechat kandidáta, aby nás zasvětil do svého přemýšlení a zkušeností, a konfrontoval je s naším přístupem. Členové týmu a potenciální přímí podřízení pak mají konečné slovo. Stejně jako možný budoucí Twisto Engineering Manager / leader řekne, jestli by ho bavilo pracovat na našich iniciativách a s klukama a holkama z našeho týmu, tak tým dává verdikt nad tím, jestli někoho chtějí za „šéfa“ a mají pocit, že je může profesně posunout a pomoct jim. Bez ohledu na to, jaké má namlouvání rozuzlení, v obou případech domlouváme feedback call, na kterém si oboustranně vyměníme otevřenou a podrobnou zpětnou vazbu, včetně zpětné vazby k celému procesu náboru.

Některé země již v rámci legislativy vyžadují tzv. self-hosted infrastrukturu, tedy aby data uživatelů dané země nepřekročila její hranice. Setkali jste se s tímto přístupem? Případně jak jej řešíte?

Ano. Uhodil jsi hřebíček na hlavičku a čtenáře teď možná zajímá, jaké další trhy plánujeme spustit. Naší odpovědí je self-managed Kubernetes cluster. Většině lidí to asi mnoho neřekne, ale jde o řešení, kdy můžeme Twisto bez problému provozovat na vlastních fyzických serverech i v cloudových službách, jako je AWS, Google Cloud nebo Microsoft Azure. Pro konkrétní případy použití a s ohledem na různé požadavky na provoz (zejména to, o co se člověk chce starat sám výměnou za větší flexibilitu, a kde chce naopak ušetřit čas) může být v různých situacích vhodnější cloud nebo naopak naše vlastní infrastruktura. V minulosti nám vlastní infrastruktura hlavně šetřila peníze. Dnes flexibilitu provozu Twista zpětně doceňujeme ještě o něco více, jelikož se tempo expanze zrychluje a požadavky se liší trh od trhu.

Aktuální největší “bolestí” jsou pro nás služby třetích stran. Pokud dodavatel v dané zemi nemá zastoupení, případně pokud klientská data nelze snadno uchovávat na lokálních serverech, může to znamenat, že si budete muset vybrat (a následně zintegrovat) alternativního místního poskytovatele. V praxi to tedy znamená nejen potřebu lokální infrastruktury, ale potenciálně i on-site DevOps týmu a IT podpory.

Byť jsem tuto oblast označil jako „bolest“, co se podstaty věci týče, pokud není motivace čistě politická (což někdy je), tak i vzhledem ke své profesní historii a akademickému působení v oblasti informační bezpečnosti jsem samozřejmě velmi rád, když se lidé zamýšlí nad tím, jaká data komu poskytují, kde data „sedí“, a kdo je vlastní nebo s nimi nějakým způsobem nakládá. Návod na to, jak chránit svá data z pohledu uživatele naleznete zde. V jaké zemi / zemích jsou databáze provozovány je potřeba ověřit pro každého provozovatele služby individuálně.

Jaké druhy integrací vlastně Twisto má, kromě vlastní aplikace? Jsou nějaké rozdíly na pozadí, když využívám Twisto u nás v Česku a například v Polsku?

Máme více způsobů integrace s eshopy (nemluvě o těch, které se v současné době objevují v rámci skupiny ZIP), ale zmínil bych dva hlavní způsoby. Direct, kdy se obchod připojuje přímo na Twisto API. A pak integrace, kdy se na nás napojí partner typu PSP a zpřístupní tak naše služby svým stávajícím klientům – eshopům. Eshopy nás tímto způsobem nemusí integrovat každý zvlášť a získají Twisto „bez práce“, jelikož zákazníci nakupující na konkrétním eshopu k Twistu přistupují přes jmenovanou PSP komponentu, kterou má už eshop integrovanou z minulosti. Jinak, jak jsi zmínil, rozdíly jsou skutečně na pozadí. Našim zákazníkům-uživatelům poskytujeme totožné služby bez ohledu na typ integrace tak, jak jsou zvyklí. Mohou se akorát setkat s mírně odlišným flow.

V případě PSP se jedná o oboustranně výhodné partnerství, protože klienti získají platební metodu, na jejíž integraci by jinak eshop musel vyčlenit svůj čas a finanční prostředky. Tato integrace nám dává škálu, tedy rychlejší tempo expanze. Náš Sales tým se samozřejmě neustále věnuje také přidávání nových a péči o stávající velké i menší obchodníky napojené “napřímo”. Díky našemu Marketing i jmenovanému Sales týmu s nimi často realizujeme společné kampaně. Když jsme ale například v jednu chvíli spustili Twisto s naším partnerem PayU pro 10 tisíc e-shopů, bez nadsázky to pro nás znamenalo změnu hry!

Narážel jsi i na rozdíly v dostupných funkcionalitách na různých trzích. Ty skutečně existují. Na novém trhu chceme být co nejdříve a urychlit i získávání zpětné vazby od zákazníků, tudíž nespouštíme vše najednou. Například nejprve uvedeme platební tlačítko Twisto, pak přijde na řadu webová aplikace a až nakonec mobilní appky. Současně můžeme mít určitou komponentu specifickou pro daný trh. Jako příklad mohu uvést způsob ověřování identity uživatele v procesu registrace.

Modulární komponenty ovládáme pomocí feature flags / toggles a tzv. canary releases. Jedná se o příznaky na účtu zákazníka, které poskytují informace o tom, co je v jednotlivých zemích k dispozici, a dokonce i o tom, co má každý konkrétní klient zpřístupněno. To nám také pomáhá při interním testování nebo postupném uvádění funkcionality mezi čím dál tím širší skupinu uživatelů.

Další otázkou bych tě poprosil o zmínku vašeho risk enginu. Přece jen dokážete na základě dat z prohlížeče a získaných údajů dát limit na nákup naprosto neznámému člověku. Jak tento proces vypadá na pozadí?

Účelem risk enginu není ztížit proces poctivým zákazníkům (ti by neměli existenci risk této komponenty vůbec zaznamenat), ale naopak identifikovat a neposkytnout služby těm, kteří se pokouší o podvod. Tato detekce není určena jen pro nás. Nechceme ani, aby podvody měly jakýkoliv dopad na poctivé zákazník, kdyby bylo nutné reagovat paušálně v reakci na zvýšený počet podvodů na daném eshopu.

Zákazník klikne na tlačítko a má zaplaceno. Na pozadí se ale zpracovává větší množství vstupů / dat. Například údaje o objednávkách, device fingerprint (otisky zařízení, která klient používá) nebo údaje z dalších integrovaných služeb. Vyhodnocení se pak provádí pomocí kombinace expertních pravidel / datových modelů a strojového učení, například v podobě detekce anomálií. V neposlední řadě bych rád zdůraznil nákupní historii zákazníků. Když se s někým dobře známe, máme mezi sebou vzájemnou důvěru. (Obrazně řečeno. Pokud se zrovna nejedná o klienta, který často komunikuje s naší službou péče o zákazníky, “známe” se spíše skrze agregované / souhrnné metriky v databázi.)

Potřebujeme vyhodnocovat nejen Twisto Pay transakce, ale také platby kreditní kartou (virtuální nebo klasickou plastovou), respektive registrace nových zákazníků. Stejně tak chceme správně nastavit kreditní limit, který mají zákazníci k dispozici na své výdaje, pokud u nás mají účet a používají naši aplikaci. Chceme zákazníkům poskytnout dostatek prostředků na jejich každodenní výdaje v online i offline světě. Chceme být nejjednodušší / nejrychlejší, a tedy i nejpohodlnější možností pro každou platební transakci, abychom neměli důvod platit jinak než prostřednictvím Twisto. V závislosti na tom, jak dobře nám vztah s klientem “klape”, pak engine může například „posvětit“ zvýšení limitu, pokud o to klient požádá.

Ale zpět k technické stránce. Na Nikitu jsme hrdí. Tento engine používají i další společnosti, například Alza. Oblasti řízení rizik a detekce podvodů je jedním z našich hlavních atributů, a to především díky lidem v těchto týmech, kteří řídí rozvoj Nikity. Nikita „zná“ trhy, na kterých již nějakou dobu působíme. Nyní engine musíme posunout na další úroveň, abychom měli nástroj pro řízení rizik v celé Evropě a dostatečně modulární na to, abychom byli schopni flexibilně reagovat na měnící se tržní podmínky. DEV by se měl (přirozeně) zaměřit především na vývoj, údržbu a stabilitu platformy, včetně schopnosti bezpečně vytvářet, prototypovat a testovat nové modely, aniž by byl ohrožen produkční provoz. Risk tým tím získá kompletní kontrolu nad vším, co se uvnitř Nikity děje.

Twisto se letos stalo součástí australského giganta v BNPL sektoru, společnosti ZIP. Jak se díváš na integraci se ZIPem a dalšími firmami, které ZIP letos koupil (Spotii) na technické úrovni?

Kompletní integrace bude určitě nějakou dobu trvat, ale to nám nevadí, nebrání nám to v expanzi. Aktuálně jsme, na úrovni celého ZIPu, schopni fungovat nezávisle v Austrálii, USA a EU. Se všemi členy rodiny ZIP si však můžeme kdykoliv velmi rychle pomoci. (PS: Interně říkáme, že se z Twisterů stali Zipsteři.) Místní specifika lze vnímat jako technickou / integrační výzvu, ale také jako příležitost a konkurenční výhodu. Standardizace je samozřejmě velmi důležitá a šetří náklady. Neměli bychom ale zapomínat na individuální potřeby a zvyklosti zákazníků na lokálních trzích a mylně se domnívat, že známe tamní prostředí lépe než lidé, kteří v dané zemi žijí. Chceme sdílet naše osvědčené postupy a poskytovat pomoc / podporu, “ownership” a rozhodování musí nicméně zůstat v ohnisku dění.

Když se odkloníme od produktové stránky, za DEV si v rámci ZIP také vzájemně předáváme znalosti, procesy, nástroje a dokumentaci. Zároveň ale přemýšlíme i nad sdílením kapacit, užší integrací celé platformy, nebo vystavováním služeb / mikroslužeb, kdy je komponenta vytvořena jedním z našich týmů a poskytnuta ostatním, aby ji také mohli používat na “svých” cílových trzích. Není žádným tajemstvím, že se nám v Twistu podařilo vybudovat platformu, která má naší nové rodině co nabídnout. (ZIP rozhodně nekupoval zajíce v pytli.) Ve vzdálenější budoucnosti bych rád viděl co největší integraci všech vývojařských týmů napříč ZIPem a specializaci na konkrétní oblasti. Někde v ZIP rodině máme nejlepší BNPL a zákaznickou zkušenost, jinde zase rozmanitější funkce, zákaznické benefity, nebo třeba nejlepší mobilní aplikace.

Síla skupiny ZIP tedy aktuálně spočívá ve sdílení know-how napříč všemi společnostmi, kterým se před akvizicí podařilo vytvořit top produkt na daném trhu. Jen již jmenované vzájemné otevírání dokumentace nás posouvá o míle dál. Pracujeme s lidmi, kteří mají, stejně jako my, velký zápal a motivaci. Je to o tom, kdo si “troufá” ostatním ukázat směr, v oblasti, ve které se cítí nejsilnější.

Pokud někoho z našich čtenářů zaujal tento rozhovor a chtěl by do DEV týmu třeba na stáž, je to možné? Je případně něco, co by si chtěl Jakube vzkázat našim čtenářům?

Nezapomeňte se podívat na twisto.recruitee.com a v případě zájmu nás kontaktujte prostřednictvím formuláře u vybrané pozice. (Pokud si nejste jisti, zda se k sobě hodíme, nebo máte jakékoliv dotazy, můžete napsat LinkedIn direct message a rád vás nasměruji.)

Každému novému kamarádovi můžeme nabídnout a očekáváme od něj ownership, kdy žádné téma není tabu. (Nehledáme zaměstnance, hledáme partnery.) Když narazíme na problém nebo máme nápad na zlepšení, zpravidla je nejlepší, když si jej je autor schopen “vzít na sebe”, srozumitelně vysvětlit a “prodat” navrhované kroky ostatním, posbírat feedback a tímto způsobem objevit řešení „za pochodu“. Nečekejte velkou byrokratickou zátěž, pravidla a procesy nastavujeme společně. Doposud jsme působili pouze v několika vybraných zemích. To se teď mění a kromě zavádění nových technologií, frameworků a jazyků souvisejících s větším počtem trhů a většími datovými objemy máme nyní mnohem silnější hlas, pokud jde o „vysílání“ našeho know-how do světa a jeho sdílení s širší vývojařskou komunitou, například prostřednictvím konferencí.

Co bych rád vzkázal čtenářům Fintree? V ZIPu se definujeme slovem „fearless“. Dáváme do popředí lidi, kterým umožňujeme kontrolu nad jejich financemi. Žít život naplno je důležité a my poskytujeme služby, které k tomu významně přispívají. Mám částečně akademický profesní background, takže bych rád vyjádřil jedno čistě osobní přání, aby uživatelé kromě každodenních výdajů a dárků pro své blízké využívali kredit i na investice do budoucna. (A abychom je k tomu i my aktivně motivovali.) Když pomineme akcie, krypto atd., v našem povídání jsme se dotkli i hiringu vývojářů a omezeného talent poolu, což přispívá k motivaci „rozhazovat sítě“ po celém světě. Cílem však není se s ostatními hráči na trhu “přetahovat” o vývojáře, ale aktivně se podílet na tom, aby kandidátů s potřebnými dovednostmi bylo obecně více.

Investujte do svého osobního rozvoje. Využijte kredit na vzdělávací kurzy, projekty a získávání znalostí od učitelů, platforem a skrze metody učení, které vám vyhovují, ať už v online nebo offline světě. Programování není raketová věda, ale učení se dalším jazykům, stejně jako jste se naučili svůj mateřský jazyk nebo angličtinu. (To samozřejmě platí i pro mnoho dalších oblastí lidského poznání, nejen pro vývoj software.) Pokud se nechcete stát programátorem na plný úvazek, tato dovednost se ve vaší každodenní práci neztratí. Budete spokojeni sami se sebou a my budeme mít ještě spokojenějšího zákazníka, možná i nového kolegu. 😊

Avatar Autor
Ondra Machač

Specialista na budování (nejen) obchodních vztahů. FinTech evangelista, který si bez technologie neuvaří ani čaj. Spoluzakladatel Podpořit.cz.

První část rozhovoru k přečtení
Zde