Dražen Mrvoš: “Ništa ne može zamijeniti onaj poseban osjećaj kad prvi put skršiš produkciju”

netokracija - prije 2 mjeseca - link

Znatiželjan i otvoren, Dražen Mrvoš se u ulogu Senior Software Engineera u Fonoi savršeno uklopio jer sve propitkuje. Radi na proizvodima koji podržavaju gotovo sve zemlje diljem svijeta i pri tom smatra da je najbitnija sposobnost da dođe srži problema.

Upravo takav pristup problemima i rješenjima cijene u Fonoi, tvrtki koja je prva na svijetu razvila cloud platformu za automatizaciju obračuna poreza na globalnoj razini, a koja trenutno zapošljava na nekoliko pozicija.

Prije nego što je ondje postao senior, Dražen prikupio raznoliko iskustvo. Evo kako je izgledao njegov put do seniorske razine…

Kako je počela i tekla tvoja karijera?

Završio sam studij strojarstva, ali nakon toga sam skužio da to nikako nije posao kojim se želim baviti u životu. Odlučio sam se posvetiti developmentu i imao tu sreću da sam kao junior odmah našao firmu gdje sam proveo narednih 7 godina. Tamo sam, uz dobro mentorstvo, stvarno naučio hrpu toga oko svog posla: i o razvoju proizvoda i o razgovoru s klijentima i, na kraju krajeva, odgovornosti.

Ali nakon tih 7 godina mi je već došlo do zasićenja i htio sam napraviti nešto svoje. Onda sam pokrenuo startup i u isto vrijeme freelanceao kako bih mogao uopće pokriti troškove tog startupa. Nakon 2 godine sam zaključio da startup definitivno nije za mene, pa ni freelanceanje. Kao freelancer razvijaš i ulažeš se u nečiji proizvod i onda kad je najzanimljiviji dio, tad ga zapravo puštaš i ideš na drugi projekt.

Potom sam dosta vremena proveo tražeći idući posao i dobio različite ponude, ali moj kriterij je bio: želim raditi u firmi koja ima svoj proizvod i želim razvijati taj proizvod, želim da taj proizvod napreduje mojim doprinosom, nekad ću i poneku stvar i skršiti, ali želim biti tamo kad se to skrši. Nakon nekog vremena sam naletio na Fonou gdje sam prošao dosta zanimljiv krug razgovora i tehničkih izazova. Tu sam već 2 godine i mogu reći da s time nimalo nisam pogriješio. Mislim da je za jednog inženjera Fonoa stvarno dobro mjesto za razvijanje vještina.

Koja je tvoja trenutna pozicija i čime se na njoj najviše baviš?

Trenutno radim kao senior softver inženjer u Invoicing timu u Fonoi. Tim u kojem radim razvija rješenje koje se bavi e-računima na globalnoj razini. Naši klijenti su Uber, Booking, Bolt i sl. Dakle, ogromni, ogromni klijenti, što znači da mi radimo na proizvodima koji su dovoljno kompleksni da ih oni neće sami rješavati. Naš proizvod se spaja s poreznim upravama diljem svijeta, a korisnici nas koriste kao gateway prema tim svim različitim poreznim upravama.

Moj posao se najčešće svodi na to, na primjer, da dobijemo integraciju s nekom zemljom i trebamo se povezati s tom poreznom upravom. To uključuje proučavanje dokumentacije, jesu li po nečemu posebni, postoje li neka pravila posla koja se moraju poštivati, validaciju podataka i dokumenata, kako izgleda njihov model podataka i slično. Na kraju krajeva, treba proučiti svaku od tih poreznih uprava ili partnera jer svaki ima svoje sučelje koje na svoj način ne radi pa se i tome treba prilagoditi. Uz to, isto kao i svi drugi kolege u timu, imamo svoj temeljni sustav koji orkestrira svim tim zahtjevima.

Pozicija mi je interesantna prvenstveno zbog razine samostalnosti i odgovornosti kad su u pitanju izazovi koje treba riješiti. To mi je bitno i za osobni razvoj, a smatram da bi inženjerstvo tako trebalo i funkcionirati. Na primjer, taj problem s povezivanjem s raznim poreznim upravama – nije da će vam netko doći i dati na tanjur: „To se radi ovako.” Ne, sami to moramo otkriti. Eventualno ćemu u procesu ispitati porezne stručnjake, pravne stručnjake i slično, ali mi smo oni koji na kraju dolaze do rješenja. Krajnji rezultat mog rada u tom slučaju je servis koji služi upravo za povezivanje s tom poreznom upravom.

Dražen radi kao softverski inženjer zadnjih 11 godina, a fluentan je u .Net Core/.Net, C#, Golang, JavaScript + Typescript, SQL Server (Azure SQL) / Postgres i Angularu. Foto: Marin Pavelić

Kako bi definirao što čini seniora?

Ono što čini seniora je, kao prvo, iskustvo. Puno stvari se može naučiti. Učimo puno na faksu, učimo puno sa strane, ali samo iskustvo je bitno. Zašto? Mogu znati programirati najbolje na svijetu, ali ništa ne može zamijeniti onaj poseban osjećaj kad prvi put skršiš produkciju. I kad nešto počne gorjeti. I kad to treba hitno popraviti.

Jednostavno, s godinama iskustva, sve je manja i manja šansa da ćeš takvo nešto napraviti, a ako se dogodi takva situacija – nećeš paničariti, to je najnormalnija stvar na svijetu. Stvari će krenuti krivo, idemo se fokusirati na rješenje.

I druga bitna stvar za jednog seniora je ne upirati prstom u tim situacijama. Ponekad ljudi u startu znaju reći: „Ja sam kriv… Netko je kriv…“. Nije bitno. Bitno je da se problem riješio. Nakon toga idemo vidjeti zašto je došlo do toga i kako to u budućnosti promijeniti. To bi bila odlika seniora.

Važno je i propitkivanje svega. Ako negdje piše da se nešto može, to ne mora biti točno u svim situacijama. Idemo svemu pristupiti s nekom dozom opreza i kritičnosti. Ne uzimaj stvari zdravo za gotovo. Propitkuj sve: odluke, zahtjeve korisnika, kako bi na kraju došao do nekog cilja.

Po meni je još jedna odlika seniora davanje i primanje savjeta. Kad nekome pokušavaš pomoći i dati mu savjet, pravi senior to ne radi zbog toga što je osoba nešto loše napravila već zbog toga što može napraviti bolje. Dobar senior će davati savjet kolegama da im pomogne, da ih nauči. Dijelit će svoje znanje. Zašto? Zato što je uzorno i hvalevrijedno dijeliti to znanje, ali isto tako ako nešto napravi krivo, znat će i primiti savjet od nekoga. Neće to smatrati uvredom, umanjivanjem svoje vrijednosti, jer to je najnormalnija stvar: prihvaćanje da ne možemo znati sve na ovome svijetu i da je svaki dan prilika za unaprijediti se.

Zadnje bi po meni bila samostalnost. Dobrom senioru ćeš dati problem da ga riješi i on će donijeti rješenje. Ne treba ga vući za rukav, ne treba ga ispitivati: „Hej! Je li ti radiš na tome?“. Ne. Dobar senior dobit će problem i prezentirat će svoje rješenje. Gotovo. To je to.

Kako se postaje senior?

Senior se po meni postaje s brojem utakmica u nogama. Koliko je to utakmica? Ovisi od osobe do osobe. To mi je stvarno jako teško za reći. U nekom trenutku osoba jednostavno postane samostalna. Zna, kad zapne, ispitivati druge, tražiti odgovore i dobiti odgovore.

Na primjer, najvažnije iskustvo iz godina prije nego što sam se pridružio Fonoi je upravo taj razvoj proizvoda. Često se dogodi da dobiješ zahtjev od korisnika, ali nije poanta odmah naskočiti na to i riješiti što traže. Ideja je pokušati saznati što stvarno taj korisnik treba. Je li mu stvarno treba to što je tražio ili se možda ne zna dobro u tome izraziti?

Osim toga, nakon dosta godina iskustva naučiš koje sve stvari mogu krenuti krivo. Neko pravilo je: ako nešto može poći krivo, poći će krivo. Senior se treba znati unaprijed pripremiti na takve situacije.

Kakvu ulogu na tom putu imaju mentori, kolege, tvrtka ili projekti na kojima osoba radi?

Kad sam bio junior, imao sam ogromnu sreću da sam imao super mentora. To je čovjek koji je u tom trenutku provodio dosta vremena sa mnom, usmjeravao me. Nije to bilo samo kroz programerske dijelove posla. Tu je bilo i pitanja o tome kako komunicirati s klijentima, kako razgovarati u firmi s poslovnom stranom: „Dražene, je li ti razumiješ da osoba s kojom si razgovarao nema blage veze što si ti upravo rekao?“. Nešto što meni zvuči sasvim logično i super, mojim možda tehničkim žargonom i mojim riječima, to jednostavno nekome ne znači puno.

Naravno, u razvoju tehničkih vještina mislim da su mentorstvo i kolege s kojima si okružen iznimno bitni. U Fonoi imamo razvijenu kulturu feedbacka. Radiš s kolegama koji su svi stvarno dobri inženjeri, od kojih svaki dan imaš priliku nešto novo naučiti, koji su uvijek otvoreni za diskusiju. Nema osobe u firmi s kojom ćeš teško komunicirati. Stvarno smo tu da pomognemo jedni drugima. To nisu neke HR floskule kao „Mi smo svi obitelj“. Na kraju krajeva, nama je bitno da tvrtka bolje funkcionira. Zašto? Svaka osoba u firmi je ujedno i shareholder. Svima nam je u interesu da firma ide naprijed tako da smo i sami zaključili da su sve ove stvari bitne.

Fonoa danas ima 120 ljudi, a i trenutno zapošljavaju. Za otvorene pozicije bacite oko na njihovu stranicu karijera!

Ako radimo nekakav projekt, na primjer integraciju s nekom poreznom upravom, osoba koja je radila sa mnom na tom projektu će meni dati feedback: „Gle, ovo je bilo super! Ajmo to dalje raditi tako.“ ili će reći: „Ovo smo mogli bolje napraviti.“ ili „Ovo bi trebali promijeniti.“. Veliki problem je kad radiš neki posao i, ako ti nitko ne kaže da ga radiš krivo u nečemu ni kako to možeš ispraviti?

U startu, kad si junior, radiš vjerojatno malo više grešaka, ali uz dobro mentorstvo i uz dobru ekipu u firmi, velika je šansa da toga ipak neće biti. Možeš imati ideju za koju smatraš da je dobra. Prezentirat ćeš ju svom kolegi koji ima više iskustva i dat će ti 10 razloga zašto možda ipak nije bila dobra ideja, ali to nije loše. To je proces učenja. I to je poanta svega.

Želiš li ići prema specijalizaciji u nekoj niši/tehnologiji ili bi radije išao prema tome da postaneš generalist?

Sve ovisi o tome što točno znači specijalizacija u određenoj tehnologiji. Tehnologije i prateće stvari vidim kao alate. Za riješiti neki problem ti treba odgovarajući alat. Između ostalog, smatram da kod seniora tehnologija i nije toliko bitna. Tehnologija je samo sredstvo da riješiš nekakav problem.

Ako baš gledam između toga da li se specijalizirati u nekoj konkretnoj tehnologiji da budeš najveći majstor na svijetu, ne znam… U tom pogledu osobno bih rekao da sam više generalist.

Stalno nam dolaze nove tehnologije, prakse i alati. Kako se educiraš i ostaješ u koraku s trendovima?

Pratim par grupa na Redditu i provjerim što ima na Hacker Newsu… Uz to, imamo u Fonoi zajedničkih Slack kanala pa svaki put kad se dogodi nešto zanimljivo u tehnologiji ili s klijentima s kojima radimo, netko to podijeli – tako da smo u toku.

Kako bi usporedio domaću IT industriju i prilike za karijeru danas i kad si počinjao?

Moram priznati da nisam toliko u toku s time, ali čini mi se da je, kad sam ja počinjao s karijerom, bilo relativno jednostavno naći priliku kao junior i krenuti raditi.

Sad, nakon što smo imali ovaj period korone, tijekom kojeg smo se maknuli u remote način rada – što osobno smatram da nije dobro za odgoj juniora, čini mi se da je možda teže juniorima doći do toga da steknu neko dobro iskustvo, s dobrim mentorima, i da, na kraju krajeva, postanu midovi, seniori…

Koji bi savjet dao onima koji sad počinju kao juniori?

Isključivo je bitna praksa u startu. Nađi firmu, zaposli se gdje imaš osjećaj da bi mogao naučiti nove stvari. Nakon toga dođi tamo i ispituj apsolutno sve. Pokupi svo to znanje.

Najgluplje pitanje je ono koje se nikad ne postavi. Ispituj mentora. Ispituj kolege. Istražuj kako sve skupa radi. Budi kao ono malo dijete koje dođe u dućan s bombonima i gleda u čuđenju čega sve ima. Ispituj apsolutno sve. I to je najbolji način da uspiješ. Mora te sve zanimati. To je inženjerski mozak. Seniore sve zanima. Sve hoću vidjeti kako radi, zašto tako radi – i to je put prema idućim razinama.

Preporučio bih i da se ne boje komunicirati ni s klijentima ni s ljudima koji imaju višu poziciju od njih. Uvijek je to nekakvo strahopoštovanje. Ok, netko ima višu poziciju – super. I dalje ima svoja usta i može odgovoriti na pitanje.

Pokušaj doći u kontakt s klijentima jer jedno je kad ti dobiješ od nekoga informaciju: „Mi moramo nešto napraviti.“ – to su već iskrivljene riječi klijenta. Kad tebi klijent nešto pokušava svojim riječima objasniti što oni trebaju, što oni žele, u tom cijelom procesu, istraživati i usmjeravati ih prema odgovoru je li oni stvarno to trebaju – mislim da je to jako lijepo iskustvo od kojeg ne treba bježati. Pogotovo zato što smatram da je za daljnji razvoj karijere komunikacija bitna jer developeri nisu jedini s kojima ćeš komunicirati. To su i klijenti, to su i nadređeni, to su možda jednog dana i neki juniori koje ćeš ti voditi.

pročitaj cijeli članak

FinTech (7)Programiranje (14)Sponzorirano (10)