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

Čudo nije investicija, već Infobipov ‘bootstrapped’ rast i upornost već 14 godina

Infobip je osiguravanjem investicije od 200 milijuna dolara postao prvi hrvatski 'jednorog'. No pravo čudo je da su osnivači Silvio Kutić, Roberto Kutić i Izabel Jelenić do ovog trenutka dogurali bez ijedne vanjske investicije - i govori mnogo o hrvatskim tehnološkim poduzetnicima!

Startupi i poslovanje

Od Applea do Rimca: Tko je novi CTO Rimac Automobila, Chris Porritt

Automobilski svijet pomalo je iznenadila vijest o odlasku Chrisa Porritta iz Applea i dolaska - u hrvatske Rimac Automobile, ali tko je Chris uopće i zašto je njegov dolazak važan?

Mobilno

Moja Croatia: Da biste digitalizirali osiguranje ne trebate govoriti “jezikom osiguranja”

Ana Zovko, direktorica sektora za digitalni razvoj, otkriva što su morali osigurati unutar Croatia osiguranja kako bi razvili potpunu, a zaista jednostavnu za korištenje self-care aplikaciju.

Što ste propustili

Vodič

Iz vlastitog iskustva: Kako dobiti novac od Europske unije za razvoj video igara

Europska unija kroz svoj potprogram Creative Europe - MEDIA, od 2013./2014. dodjeljuje bespovratna sredstva europskim game dev studijima za razvoj video igara. Evo kako izgleda proces prijave i na što trebate obratiti pozornost da biste dobili novac.

Kolumna

Na 16. rođendan Ruby on Railsa odgovaramo na pitanje: Je li mrtav, i u svijetu i u Hrvatskoj?

Početkom kolovoza slavimo 16 godina od prve pojave Ruby on Railsa, web development frameworka koji je “promijenio svijet”. S tom činjenicom volim početi ovu priču jer mislim da je ključna za odgovor na pitanje koje mi se često postavlja: Nije li Ruby on Rails mrtav?

Video

Kako dati otkaz? Pravni savjeti za radnike i poslodavce!

Neki od najpopularnijih tekstova na Netokraciji u posljednjih nekoliko mjeseci su – kako dati otkaz, kako zatvoriti paušalni obrt...

Tehnologija

Ratko Mutavdžić: Od ‘cloud’ blogera do Microsoftovog Technology Officera za srednju i istočnu Europu

S novim tehnološkim šefom Microsofta za srednju i istočnu Europu, Ratkom Mutavdžićem, razgovarali smo o 700-postotnom rastu Microsoft Teamsa za vrijeme pandemije, kako se koriste 'cloud' tehnologije u 2020., ali i zašto Zagreb treba kafić-ured!

Startupi i poslovanje

Od investicije do akvizicija – Silvio Kutić i investitori Ante Kušurin i Mario Ančić o Infobipovim ambicijama

U eksluzivnom razgovoru za Netokraciju, Silvio Kutić, kao direktor Infobipa, Ante Kušurin i Mario Ančić iz fonda One Equity Partners, ujedno poznati hrvatski sportaši, otkrivaju detalje svoje suradnje – i planova da stvore vodeću svjetsku CPaaS platformu.

Društvene mreže

Zabrani li Trump TikTok, hoće li hrvatski ‘TikTokeri’ prijeći na Instagram Reels?

Dok čekamo hoće li Trump zabraniti, a Microsoft ga kupiti za američko tržište, hoće li Zuckerberg iskoristiti pravi trenutak i preuzeti TikTokove kreativce, publiku i potencijal?