Infobipov Marko Stipanov: Što češće testirajte, "deployajte" i šaljite klijentu ono što ste napravili!

Infobipov Marko Stipanov: Što češće testirajte, “deployajte” i šaljite klijentu ono što ste napravili!

Kako su te principe u praksi usavršavali sami Infobipovci ispričao nam je Marko Stipanov, Infobipov glavni razvojni arhitekt.

Već šest godina vodnjanski Infobip organizira Dev Days konferenciju na kojoj se i ove godine moglo čuti poznate hrvatske poduzetnike, znanstvenike i stručnjake iz industrije. Pokrivajući teme iz područja suvremenog razvoja i isporuke softvera, ali i vodećih razvojnih tehnologija koje pokreću današnja poslovanja, na ovogodišnjim Infobip Dev Daysima nije nedostajalo ni osvrta na prošlost.

Infobipov Silvio Kutić i druge poznate kolege poduzetnici prisjetili su se svojih grešaka na putu do uspjeha ne bi li iz njihovih iskustava učili i drugi u zajednici. Zadnje predavanje Marka Stipanova također se dotaknulo iskustava od samih početaka kompanije, a s fokusom na ključne trenutke i izazove razvoja, isporuke i organizacije servisa u Infobipu.

Na ovogodišnjim Infobip Dev Daysima, uz Silvija Kutića, Mate Rimac, Damir Sabol, Mislav Malenica, Mladen Pejković i moderator Ivan Burazin razgovarali su o lekcijama koje su naučili na putu razvoja različitih poslovanja.

S obzirom na Markovo stručno iskustvo kad su u pitanju arhitektura softvera, sustavi u stvarnom vremenu i agilna metodologija, ali i devet godina koje je proveo s Infobipom, nakon same konferencije našla sam priliku da porazgovaramo na temu razvoja velikih IT organizacija i što temeljem iskustva Infobipa druge organizacije mogu naučiti.

“Samo stalna mijena jest”

Markovo predavanje na Dev Daysima trebalo je odgovoriti na pitanje kako je današnji Infobip došao do trenutnog načina razvoja i isporuke te koje prakse je u procesu zadržao, a koje ne. Kako poetično kaže Marko:

Ne bih rekao da smo išta zadržali, da parafraziram Petra Preradovića „U Infobipu, samo stalna mijena jest“. Konstantno radimo na traženju načina „kako manje raditi“. Uvijek se trudimo pronaći one procese na koje ljudi gube vrijeme kako bi ih onda automatizirali, ili se bar potrudimo da ih automatiziramo. Bilo da se radi o sustavu za provizioniranje virtualnih mašina, API Gateway sustavu za unificiranje javno dostupnih API-ja i standardizaciju sigurnosti, internom API balanceru koji se automatski podešava koristeći service discovery ili Kubernetes clusterima koji nam olakšavaju deployment i skaliranje servisa.

Koliko je Infobipu bitna automatizacija govori i činjenica da je ovog ljeta otvoren R&D centar u Splitu upravo posvećen automatizaciji procesa kontaktnog centra u oblaku, a kojim će se bešavno integrirati različiti kanali podrške – od WhatsAppa do glasovnih poruka. Marka posebno zanima područje automatizacije stoga me zanimalo i kako on gleda na potrebu automatizacije poslovanja te što domaće tvrtke mogu učiniti da budu u korak s tim promjenama.

Automatizacija stvara temelje za rast i slobodu eksperimentiranja. Bez eksperimentiranja nema inovacija ni novih proizvoda. Preporučujem svima, ne samo domaćim kompanijama, da ulože sredstva u automatizaciju procesa jer će tako imati sretnije i zadovoljnije zaposlenike koji neće morati raditi dosadne, repetitivne poslove. Isti ti ljudi moći će se fokusirati na razvoj rješenja, šta u konačnici donosi zaradu.

Dobar primjer kako biti u toku s najnovijim promjenama dolazi i od činjenice da Infobip svoje zaposlenike nastoji motivirati odlascima na kvalitetne konferencije na kojima se govori o aktualnim temama, bilo da su vezane uz razvoj softvera ili organizaciju, pojašnjava Marko.

Ljudi se nakon toga vraćaju s novim idejama i iskustvima drugih kompanija, a ti uvidi nam omogućavaju brži rast te kvalitetniji sustav i organizaciju. Tako smo uveli organizaciju u timove, Scrum i ostale agilne metode, Docker, Kubernetes, G1 GC još u Javi 6, Prometheus, Service discovery, Kafku, itd.

Kako se to radi u Infobipu?

Mario Žagar i Marko Stipanov s nekolicinom programera postavili su temelje za Infobipovu platformu.

Agilan rad

Jedna od Markovih specijalizacija je i agilna metodologija, a za koju kaže da ju primjenjuje od početaka svoje karijere, čak i kada nije znao da takav pristup ima svoje ime:

Možemo tu metodologiju zvati agilno, lean, agility, ili nekako drugačije, ali glavni cilj je u najkraćem roku klijentu dati proizvod (pa makar i poluproizvod) na koji će dati konstruktivan feedback. Nije bitno koliko je proizvod „gotov“. Dapače, što je manje gotov, to bolje. Time se izbjegava uzaludan posao razvoja onoga što vi mislite da klijentu treba.

U Infobipu, ističe Marko, trude se imati što kraći razvojni ciklus, odnosno nastoje komade koda pustiti u produkciju što je moguće ranije. Dnevno imaju oko 700 isporuka koda, što znači da se svakih 40 sekundi nešto deploya. Što se tiče samog procesa, dodaje, koriste Scrum, ali svaki tim definira svoje specifičnosti u procesu: poput trajanja sprinta, učestalosti isporuke, načina reviewa koda i sl.

Kad je u pitanju trenutno stanje agilea, a u kontekstu činjenice da je Uncle Bob, jedan od kumova metodologije nedavno za Netokraciju komentirao kako su “projektni menadžeri oteli agile developerima”, zanimalo me i Markovo mišljenje. On kaže – da bar jesu.

Teško je izbiti iz navike princip rada u kojemu servis određenih featurea obećate klijentu do dogovorenog datuma kako bi usvojili drugi princip u kojemu klijentu svakog tjedna isporučujete na uvid, ne možda sve, ali sigurno one najvažnije feature – a da vam je pritom potreban feedback klijenta. Veliki problem može biti situacija u kojoj klijent taj servis, koji ste razvijali šest ili više mjeseci, po prvi puta vidi nakon tolikog vremenskog odmaka. To je jednako kao i kada krećete graditi kuću te se opisno dogovorite o željenom broju soba, ali do završetka gradnje kuće ne vidite ništa. Kolika je vjerojatnost da ćete htjeti živjeti u toj kući?

Skalabilan sustav

Tako dolazimo i do izazova građenja velikog sustava i njegovog skaliranja. Najčešći izazovi s kojima su se Marko i kolege suočavali u postavljanju i definiranju arhitekture softvera u Infobipu, koji je vrtoglavo rastao, bili su trenutci uvođenja novih tehnologija poput Dockera ili Kubernetesa. Ipak, nekada se nema vremena previše razmišljati, neprestani rad na usavršavanju infrastrukture ključan je za praćenje rasta u širenju tvrtke, napominje Marko.

Trudimo se omogućiti što jednostavniju i bržu isporuku servisa. Tako smo primjerice uveli Docker prije otprilike tri godine. Bilo je tu rasprava o tome je li ta tehnologija spremna za produkciju ili ne, ali nismo imali mnogo izbora – već smo morali pojednostaviti isporuku servisa. Sada smo u sličnoj situaciji s Kubernetesom. Infrastruktura jednostavno mora biti zamašnjak koji pokreće produktne timove kako bi bili što efikasniji.

Infobip

Tijekom godina imali su nekoliko velikih eureka trenutaka, poput balansiranja SMPP prometa ili korištenja API-ja za komunikaciju između servisa. Marko ističe kako im je sve to pomoglo da se u konačnici u Infobipu dobro nose sa skalabilnošću sustava.

Danas u razvoju imamo preko 60 timova inženjera te više od 850 različitih visoko dostupnih servisa. Neki od njih su mikro, neki makro, a zajedničko im je da se jednostavno skaliraju. Najbitnije je bilo složiti sustav u kojemu svaki servis može bez ikakvog problema komunicirati s bilo kojim drugim servisom.

Izazov “velikog IT sustava” je kako održati mnogo manjih

Marko je u Infobipu već devet godina te je sudjelovao u najvećem dijelu iskušavanja i poliranja service developmenta u praksi. Kao i svima, pogled u prošlost omogućuje mu da danas jasnije vidi neke propuštene prilike – pa tako i da savjet nekome tko možda tek počinje razvijati poveći sustav. Kako mi iskreno kaže, volio bi da je bio hrabriji i odlučniji prilikom provođenja vlastitih ideja u samim počecima rada u Infobipu.

Neke trivijalne greške sa samog starta jako je teško kasnije ispraviti. Najbanalniji primjer je jedinstveni registar korisnika sustava koji smo objedinjavali preko tri godine. Primjerice, bilo bi sjajno da sam poznavao princip organizacije timova kako bi se dodatno podigla efikasnost i kvaliteta sustava. Možda je pritom najvažnije bilo agresivnije i ranije pokrenuti automatizaciju svih aspekata Infobip sustava.

Međutim, za efikasnost i kvalitetu velikih sustava, najbitnije je ne razvijati „veliki IT sustav“, napominje Marko:

Važno je razvijati mnogo malih sustava koji imaju jednostavan i unificiran način međusobnog komuniciranja, ali i deployjati što češće i bez straha. Ne mislim pritom da treba biti bezobziran. Potrebno je poštovati sva pravila struke. Testirati gdje god je to moguće, ali deployjati redovito. Ako to činite rijetko, skupit ćete mnogo promjena koje u konačnici mogu rezultirati katastrofom.

Najveći izazov je posložiti servise i timove tako da se dependencyji ne odražavaju na timove, već na servise, ističe Marko objašnjavajući i što bi bio primjer toga u timskom radu:

Kako bih ja obavio svoj backend task, tim A mora pripremiti bazu, a tim B mora napraviti UI. U ispravnoj organizaciji tim A stvara okruženje u kojemu osobno mogu jednostavno isprovizionirati bazu po njihovim pravilima, a da mi tim B osigura, primjerice, template i modularni portal u kojemu ja mogu sam složiti vlastiti widget. Takva organizacija je ključna ne samo za brzi rast, nego i za kreiranje novih proizvoda, ali i eksperimentiranje s tehnologijama.

Ključ svega su ljudi – i uigrani timovi

Infobip
Infobip je razvio ESOP (Employe Stock Ownership Plan) kroz koji zaposlenike uključuju u razvoj tvrtke, a to im je posebno bilo važno, ističe Kutić, kako bi se zahvalili timu koji je s njima Infobip i gradio.

Kako i za mnoge velike organizacije, najveći izazov rasta, pogotovo u IT-u su zaposlenici i njihovo uključivanje u procese rada, pogotovo kad je u pitanju kompanija koja ima urede na stranim tržištima. I Marko smatra kako najveći izazov u Infobipu nije bio u automatizaciji developmenta ni korištenju naprednih tehnologija, već u skaliranju organizacije i stvaranju okoline koja može neprestano primati i educirati brojne nove ljude.

U početku je bilo jako teško onboardati tj. uključiti u sve Infobipove radne procese čak i samo jednog novog kolegu, dok nam danas priljev novih ljudi strelovito raste. Ovdje moram pohvaliti naš People Operations odjel (HR) koje se trudi pronaći, ali i zadržati najveće talente u svih pet zemalja u kojima imamo odjele za razvoj softvera i infrastrukture.

Za kraj, Markov savjet je – ulažite u ljude i automatizaciju te stvarajte kulturu suradnje timova bez blokera – ta će vam se investicija sigurno isplatiti.

Komentari

  1. ludi panj

    ludi panj

    27. 09. 2019. u 7:42 pm Odgovori

    wao, ljepo je iz prve ruke saznati koje probleme imaju veliki razvojni timovi, te koje procese i načine rada koriste da to riješe.

    a i ljepo je vidjeti pravu sliku developerskog tima,
    a ne nasmijane multikultural manekene u košuljicama i tupim pogledima

    Problem je samo šta će mali broj ljudi shvatiti šta je tu rečeno i šta sve jadni developeri moraju napraviti od ideje do realizacije projekta

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Startupi i poslovanje

Nasmijali smo se ‘Otvorenom’, a unutar IT zajednice se hejtamo, ne podržavamo – i ne poznajemo?

Jučerašnje Otvoreno dokaz je da ni javnost ni država i dalje ne razumiju IT. Može li tehnološka zajednica konačno pokazati razumijevanje sama prema sebi?

Mobilno

George je nova bankarska aplikacija od Erstea – za račune u svim bankama?

Iako će Erste službeno predstaviti George tijekom tjedna, već danas otkrivamo kako će nova aplikacija (Da!) biti zamjena ne samo za Erste mBanking nego potencijalno i za druge banke koje koristite!

Startupi i poslovanje

Web stranice javnih tijela od 23.9. moraju biti pristupačne: Kako se tijela, agencije, dizajneri i developeri mogu prilagoditi?

Informacije od javnog značaja koje objavljuju javna tijela na svojim web stranicama i aplikacijama moraju biti pristupačne svima - o tome više nema rasprave. Što vas očekuje ako je pristupačnost sljedeći korak i za vas? Hrvatska agencija Neuralab dizajnirala je po novim standardima web Hrvatske banke za obnovu i razvitak - evo što su oboje naučili u procesu.

Što ste propustili

Startupi i poslovanje

U Hrvatskoj se za poduzetništvo odlučuje tek svaki 12. građanin, možemo li to kao digitalna zajednica promijeniti?

Ako nema poduzetnika, nema niti poduzetničkog ekosustava, a u Hrvatskoj je niz uzroka doveo do toga da patimo od kroničnog manjka poduzetničke aktivnosti - postoji li među digitalcima znanje i energija da se to promijeni?

Mobilno

Testirali smo Sony Xperiju 1 II, mobitel za fotografe i snimatelje koji nemaju fotoaparat i kameru

Protekla dva tjedna testirao sam Sony mobitel. Ne, nisam se vratio u 2016., ali razumijem ako za brend Xperia niste čuli mjesecima ili godinama.

Društvene mreže

Facebook Dating stigao u Hrvatsku! Što će vaši Facebook prijatelji (i simpatije) moći vidjeti i napraviti?

Facebook Dating je od danas dostupan i na području Europe kako bi pomogao korisnicima u traženju partnera. Potrudili su se da iskustvo bude što je više moguće privatno... no koliko tajne simpatije na Facebooku zbilja mogu biti tajna?

Društvene mreže

Što sam naučio nakon 931.000 pregleda, 15.000 reakcija i 365 uzastopnih dana objavljivanja na LinkedInu?

Sve je krenulo ljeta 2019. kada sam si postavio izazov. Danas 400+ dana nakon s isto toliko mojih objava na LinkedInu naučio sam mnogo, a dio tog iskustva imam priliku u ovoj analizi podijeliti i s vama.

Kolumna

Kako postati podatkovni inženjer? Od PMF-a do industrije – ovo je moj karijerni put

Put do podatkovnog inženjera zahtijeva mnogo truda, vremena i konkretna znanja. Ali i sam sam prvo učio da bih kasnije druge podučavao. Što se na tržištu traži i što vas može zateći na putu?

Startupi i poslovanje

Izdavačka kuća Devolver Digital preuzela Croteam, veterane hrvatske gaming scene

Najdugovječniji i najpoznatiji hrvatski gaming studio Croteam preuzima Devolver Digital, izdavač video igara koji ih je vjerno pratio kroz sva re-izdanja njihove uspješnice Serious Sama, ali i novih nastavaka koji su osvajali igrače diljem svijeta.