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 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. Infobip

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.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

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

Zabava i zanimljivosti

Hrvati napokon mogu glasati elektronski, i to zahvaljujući Samu Altmanu (i botovima)

Već niz godina naklapa se i navija za uvođenje elektronskog glasanja u Hrvatskoj. Ako nismo tijekom pandemije koronavirusa, kad ćemo, pitaju se mnogi. Ova superizborna godina, u kojoj nas čekaju parlamentarni, europski i predsjednički izbori jedina je još sila (ne)prilika koja bi mogla nagnati Državno izborno povjerenstvo da poduzmu mjere po tom pitanju.

Tvrtke i poslovanje

Znate li koristiti svoj “mozak izvan mozga”?

Proces u kojem naš mozak prati samog sebe i procjenjuje koliko mu dobro ide radimo svakodnevno, s više ili manje uspjeha. Riječ je o metakogniciji koja utječe na svaki aspekt našeg ponašanja - od definiranja životnih ciljeva i kako do njih doći do procjenjivanja vlastitih osjetila.

Digitalni marketing

“Želim samo logo za svoj brend” je kao naručivanje hrane bez soli i začina

U dinamičnom svijetu poslovanja, gdje nam se svakodnevno servira tona sadržaja i reklama i gdje se prvi dojam često stvara jednim pogledom – dobro osmišljen logotip izuzetno je važan. Međutim, put kroz brendiranje ide daleko izvan stvaranja logotipa.

Što ste propustili

Startupi

ZICER otvorio prijave za nove akceleracijske programe – startupe čeka preko 200.000 eura

Hrvatski startup hub ZICER otvorio je natječaje za akceleracijske programe kroz koje je na raspolaganju 200.000 eura bespovratnih novčanih sredstava i in-kind potpora od 18.000 eura.

Intervju

Umjetna inteligencija ima razorni potencijal, treba je zauzdati etikom, kaže poznati futurolog

Digitalna transformacija je i kulturološka promjena, koja traži stalno izazivanje statusa quo, eksperimentiranje i prihvaćanje neuspjeha.

Društvene mreže

Saga ReeseTeese pokazala je da TikTok postaje novi reality TV

Od 15-sekundnih plesnih videa do osobne drame ispričane kroz 500 minuta nastavaka snimljenih usput: analiziramo zašto sadržaj na TikToku postaje sve sličniji televizijskim emisijama i zašto je sve češće početna točka na putu do slave i ugovora s Netflixom.

Intervju

10 godina Marketing Meet Upa: Ilija Brajković prisjeća se kako je sve počelo

Tko bi rekao da je Marketing Meetup počeo s desetak sudionika u pivnici, a sada broji skoro 6000 članova.

Karijere

Učenice su dobre u STEM-u, ali ih ne zanima karijera u programiranju

Iako tijekom školovanja raste interes za STEM zanimanjima među oba spola, postoje značajne rodne razlike u odabirima. Područja informatike i računarstva snažno su obilježena stereotipima i poslovi u ovom području i dalje djevojkama nisu dovoljno interesantni

Intervju

Što donosi studij primijenjene kognitivne znanosti koji je spojio snage FER-a i Filozofskog?

Do prije samo nekoliko godina suradnja FER-a i zagrebačkog Filozofskog fakulteta smatrala bi se  protuprirodnim činom, a danas zajednički izvode studij za kojim vlada ogroman interes.