Top

život v innovatrics

späť na články

Zabudnite na monotónnosť. Na našom DOTe sa programátori zaručene nenudia

Zabudnite na monotónnosť. Na našom DOTe sa programátori zaručene nenudia

Dnes pozostáva DOT tím, ktorý vyvíja populárny Digital Onboarding Toolkit, zo šiestich ľudí. Ide o produkt, vďaka ktorému je možné prostredníctvom biometrie verifikovať identitu osôb na diaľku, napríklad klientov bánk. Väčšinou  robia viacerí na tom istom probléme, ktorý si delia na izolovanejšie úlohy a potom ich spájajú dokopy ako skladačku, približuje prácu v DOT tíme Radko Čagala, Team Leader v Innovatrics.

 

Digital Onboarding Toolkit (DOT) je v súčasnosti asi najvychytenejším produktom od Innovatricsu, najmä čo sa týka dopytu z komerčnej sféry. Čo by ste o ňom povedali ako líder DOT tímu?

„Náš DOT, ktorý umožňuje overenie osôb na diaľku primárne prostredníctvom tvárovej biometrie, nie je konkrétna aplikácia, ktorá by sa nasadila u zákazníka a hneď by ju dokázal používať. Je to súbor viacerých nástrojov, teda mikroservisov a mobilných knižníc, ktoré môže koncový klient, napr. banka, používať po integrovaní do svojej vlastnej aplikácie. V poslednej dobe je moderné používať tvárovú biometriu aj v internetbankingu. Z technologického pohľadu sa zaoberáme dvomi hlavnými smermi, a to tvárovou biometriou a rozpoznávaním textu na identifikačných dokladoch.“

Prečo je potrebné rozpoznávanie textu na občianskom preukaze? 

„Umožňujeme týmto spôsobom zákazníkom komplexný zber dát ohľadom totožnosti ich klientov. Vyhnú sa aj chybám či preklepom, ktoré sa často vyskytujú pri vypisovaní tlačiva. Takže tým zvyšujeme aj presnosť a zrýchľujeme celý proces. No a v neposlednom rade je to pre používateľa omnoho komfortnejšie, keďže nemusí vypisovať ďalšie tlačivá. Takže odbúravame aj byrokraciu.”

V rámci rozpoznávania tváre máte momentálne nejakú výzvu?

„Určite. Zameriavame sa teraz na test živosti človeka. Cieľom je zamedziť falšovaniu identity napríklad použitím niekoho fotografie namiesto živej osoby, ktorá by mala byť pred kamerou. Toto sa využíva napríklad pri vytváraní nových bankových účtov online. Pre klienta  je to komfortnejšie. Pre banku zase lacnejšie a to napríklad aj z dôvodu, že predchádza podvodom. V prípade, že sa spoja tieto funkcionality – tvárová biometria s testom živosti a rozpoznávanie textu, môže si byť banka istejšia, že osoba je naozaj tou, za ktorú sa vydáva. Vieme napríklad určiť aj to, či naozaj môže mať osoba taký vek, aký je deklarovaný na dokladoch.“

Vie algoritmus rozpoznať vek aj v prípade, že človek prešiel plastickými vylepšeniami?

„Technológia by mala fungovať pri klasifikácii človeka podobne ako ľudský mozog. Ak človek niekoho vidí a dokáže odhadnúť, či ide o štyridsiatnika, alebo dôchodcu, tak to dokáže aj algoritmus. Samozrejme aj technológia si môže byť istá viac alebo menej, rovnako ako človek.“

Dá sa DOT ešte vylepšovať? 

„Zlepšujeme jeho presnosť a rýchlosť a pridávame stále nové funkcionality. Počúvame zákazníkov, aké majú problémy a čo by uvítali, aby bolo v produkte. Je toho veľa. DOT je stále mladý produkt, má okolo 2,5 roka a je stále veľa vecí, ktoré sa doň dajú pridávať.“

Aké vylepšenie ste pridali v poslednej dobe?

„Práve rozpoznávanie textov trpí menším neduhom. Klienti bánk sú cez appku vyzvaní, aby si odfotili ID kartu. Mnohí to však robia zle. Fotky sú malé, rozmazané, tmavé, nekvalitné. Teraz vyvíjame mobilný komponent, ktorý inštruuje klienta, aby ID kartu správne nasmeroval, odfotil ju z požadovanej vzdialenosti, v dobrom svetle tak, aby bolo zaostrené na kartičku. Chystáme sa riešiť problém s lesklosťou identifikačných kariet, keďže sú zaliate v obale. Nový komponent sám urobí a vyberie najlepšiu fotku.“

Pracuje na jednej úlohe iba jeden človek z tímu alebo celý tím?

„Momentálne máme v tíme šiestich ľudí, z toho sme piati vývojári a jeden DevOps špecialista. Úzko spolupracujeme aj s produktovým manažérom. Väčšinou  robia viacerí na tom istom probléme. Robotu si delíme na izolovanejšie úlohy a potom ich spájame dokopy ako skladačku. 

Vyriešite jeden problém a idete na druhý? Alebo robíte paralelne aj na viacerých vylepšeniach?

„Stále ideme podľa plánu, ktorý voláme road mapa. Máme naplánovaný krátkodobý a strednodobý rozsah prác. V hrubých kontúrach plánujeme až na rok dopredu. Popri tom robíme aj údržbu, keďže sem-tam klienti reportujú chyby, ktoré musíme opraviť. Každé dva týždne máme prioritizačný míting. Na ňom sa naplánuje práca na ďalšie dva týždne. Pomedzi to je grooming míting, kde sa vyšpecifikuje funkcionalita, ktorú chceme robiť v blízkej budúcnosti.“ 

V priemere ako dlho sa robí na jednom vylepšení?

„Jedna ucelená funkcionalita môže trvať dva – tri mesiace. My ju však rozdelíme na storky, ktoré trvajú 2,5 až 5 dní. Uzavrie sa síce úspešne do želaného stavu, ale my máme stále vízie ako ju zlepšovať. :-)“

Ako to funguje? Zvyčajne si vy v tíme alebo firme poviete, čo chcete zlepšovať alebo je to podľa podnetov od klientov?

„Hnacím motorom sú požiadavky od klientov. My ako vývojári s nimi síce nekomunikujeme, ale máme tím konzultantov a obchodníkov. Niekedy prídu od klientov podnety na zlepšenia, ak im niečo nefunguje, niekedy sú to ucelené požiadavky na pridanie konkrétnej funkcionality. Produktový manažment povie, čo je naozaj dôležité a už keď je to jasné, konzultujú to s nami. Často je problém príliš technologický a ani produktový manažér nemusí úplne vedieť, ako by sa dal riešiť. Preto je dobré, že sa aj my developeri podieľame na tom, ako bude produkt vyzerať.“

Ako sa môže zmeniť DOT za jeden rok? 

„DOT je síce mladý produkt, ale už ho používa množstvo zákazníkov u nás aj vo svete. A tak sa aj rýchlo vyvíja. Produkt rapídne vylepšujeme a dopĺňame o nové funkcionality. To je ale do istej miery limitované počtom developerov, preto tím rozširujeme a hľadáme k nám Senior Java Developera.“

Aké technológie pri tom využívate?

„Robíme hlavne v programovacom jazyku Java, Kotlin, Swift a okrem toho na mikroservisy používame Spring Boot. Čo sa týka nášho interného deploymentu, používame aplikačný kontajner Docker. Mobilné knižnice pre Android píšeme v Java a pre iOS v jazyku Swift. Pre každú platformu sú napísané nezávislé knižnice. Posledný približne rok sa snažíme všetky nové komponenty robiť v programovacom jazyku Kotlin. Ako úložisko pre zdrojové kódy používame GitLab. Používame ho aj na continuous integration a continuous deployment.“

Ako to funguje? Každý programuje to isté len v inom jazyku?

„Snažíme sa byť čo najzastupiteľnejší. Ideálny cieľ by bol, keby každý vedel robiť všetko :-). Ale samozrejme to v praxi nie je úplne tak. Každý sa špecializuje na niečo iné, takže niektorí sú lepší v programovaní pre mobilný svet a iní zase pre serverové komponenty. Samotnú technológiu na rozpoznávanie tváre a textu však robia iní kolegovia z našeho R&D. My používame ich výstup a softvérové knižnice integrujeme k nám do produktu. Dávame ich do mobilných knižníc, robíme mikroservisy, s ktorými sa dá komunikovať. Toto je dôležitý aspekt v architektúre produktu.“

Čo považujete za najzaujímavejšie na práci v DOT tíme?

„Je to veľmi zaujímavé pre ľudí, ktorí nechcú pracovať na monotónnej činnosti a baví ich neustála zmena. Nemusí to každému vyhovovať, ale pre veľa ľudí je to atraktívne. Je to kreatívne a stále niečo nové. Čo je skvelé, a nie je to tak v každej technologickej firme, aj my developeri sa do veľkej miery podieľame na tom, ako produkt v konečnom dôsledku vyzerá a funguje.“

 

Aké technológie v DOT tíme využívame?

Android mobilné knižnice:
– programovacie jazyky: Java, Kotlin

iOS mobilné knižnice:
– programovacie jazyky: Swift, Objective-C

Microservices:
– programovacie jazyky: Java, Kotlin
– frameworky: Spring Boot, JNA

Všeobecne:
– testovacie frameworky: JUnit, Mockito, MockK, Jacoco
– statická analýza: SpotBugs, ktlint, Android lint
– ostatné: Git (Feature Branch Workflow), Gitlab (používame ako Git
Repository a tiež ako DevOps lifecycle tool), Docker, Swagger pre
dokumentáciu REST API, Opentracing

Na organizáciu práce používame metodiku Kanban.

Chcem sa stať súčasťou tímu
Prezrieť ponuku