Intervju - ANĐELKO IHAROŠ: I seniori imaju što naučiti kod nas

Intervju - ANĐELKO IHAROŠ: I seniori imaju što naučiti kod nas

Crossvallia je u potrazi za C i Go developerima, pa smo odlučili posjetiti njihov zagrebački ured i popiti kavu s Anđelkom Iharošem, vođom njihova development tima, kako bismo saznali što ih to čini posebnima. 

Oglas za Senior C Developera
Oglas za Golang Developera

Anđelko, prije svega, za one koji ne znaju – tko ili što je Crossvallia?

Dobro pitanje (smijeh). Crossvallia je zapravo vrsta nekakvog davno izumrlog pingvina, za kojeg se smatra da je dostizao visinu blisku odraslom čovjeku.

Nismo slučajno izabrali upravo to ime za kompaniju – Crossvallia razvija open-source i komercijalne projekte, pri čemu je cijeli environment baziran upravo na Linuxu. Development je samo jedan dio priče; Crossvallia je konzultantska tvrtka specijalizirana za IT infrastrukturu, što znači da svojim klijentima nudimo cjelovita rješenja i podršku u izgradnji velikih poslovnih sustava. Iako velik dio Crossvallijnog tima čine upravo DevOpsi, sistem administratori i sistem inženjeri, veći dio mog [development] tima, kao i ja, dosta dobro razumije i sistemsku i mrežnu stranu. Jednostavno, u okruženju koje je toliko usko vezano uz Linux i bliske tehnologije, to je neizbježno.

Tko je za vas idealan kandidat? 
Mislim da je dio odgovora već očit. S tehničke strane, idealna osoba posjeduje znanja i razumijevanje developmenta, sistemske i mrežne strane nekog sustava. Što se specifičnih tehnologija tiče, to se s vremenom mijenja, ovisno o projektima, proizvodima i njihovim featureima, trendovima, ... 
Primjerice, sad smo u potrazi za C i Go developerima. U prvom slučaju idealan kandidat bi bio iskusnija osoba, s dubinskim poznavanjem i iskustvom u C-u, čija znanja pokrivaju i shell, http, TCP/IP te cloud tehnologije. S druge strane, kad je u pitanju Golang, cijenimo iskustvo sa Service Meshom, te Cloud Native tehnologijama poput Kubernetesa. 

Zvuči zahtjevno. Kako izgleda onboarding proces? 
U pravu ste - tražimo malo više iskustva i znanja, a i senior developeri imaju što naučiti kod nas. 
Štoviše, kako bi postali produktivni članovi zajednice, i oni zaposlenici koji dolaze s iskustvom obično trebaju barem šest mjeseci kako bi došli do određene razine samopouzdanja i udobnosti rada s onim što im je u Crossvalliji svakodnevni posao. 
To znači da će svaki novi član tima proći proces upoznavanja naših sustava i načina rada – osim kroz rad sa mnom, dodijeli mu se neka vrsta 'buddyja' koji već radi na tom projektu, koji ga uvodi u specifičnosti projekta, upoznaje sa dosadašnjim napretkom i s kojim surađuje na taskovima čija kompleksnost raste kroz vrijeme. Naravno, prilagodljivi smo osobi – ako se novi član pokaže vrlo samostalnim i ranije, rado mu prepuštamo veći komad „kolača“.

Spominjete 'svakodnevni posao' - na kakvim projektima radite?
Projekti na kojima radimo su uglavnom dugoročni, ali ne nužno. Primjerice, dijelom radimo software za  etablirane proizvode koji imaju stabilnu i predvidljivu potrebu za daljnjim razvojem. Kako se mijenjaju internet protokoli i infrastruktura unaprijeđuje, tako i mi držimo korak i prilagođavamo naš software. S druge strane, neki od naših projekata su vezani uz tehnologije koje prate svjetske trendove. Tu imamo kraće projekte s obzirom na kratkoročnije ciljeve, od kojih je jedan držanje koraka s industrijom koja se kontinuirano mijenja.

Nismo kompanija koja se bavi razvojem, primjerice, web stranica, već su u našem fokusu tehnologije tipa http, serveri, infrastruktura, gRPC, Kubernetes i sl. Raspon naših projekata seže od low-level stvari do nekih projekata koji 'troše' ogroman broj servera, odnosno skaliraju se u globalnim razmjerima. Naši C projekti su uglavnom dulji, a Go projekti obično srednjoročni i vezani uz trenutno stanje industrije.

Možete li nam opisati neki prosječni projekt, kako izgleda vaš pristup? 
Prvi korak najčešće dolazi od klijenta - kontaktiraju nas sa zahtjevom za nekim proizvodom ili novim featureom postojećeg. Često i sami predlažemo izmjene, ovisno o trenutnom stanju na tržištu, tome što radi konkurencija itd. Nakon toga, radimo procjenu isplativosti projekta - prikupe se informacije, odredi se set featurea, procijeni koliko bi ljudi moglo raditi na tome, te koji su članovi tima idealni upravo za taj dio.  

Jedan od naših najvećih klijenata, a samim time i dugoročnih projekata,  je HAProxy. To je tvrtka koja je razvila najbrži i najkorišteniji open-source software load balancer. Mi tamo djelujemo kao konzultanti u njihovom proširenom timu, što podrazumijeva blisku suradnju s core development timom u Parizu. Sam proizvod ima community (open-source) i enterprise verziju,  koja sadrži podulji set kompleksnih featurea, i upravo u ovom drugom dijelu mi uskačemo.  Da ne idem u detalje,  po mom skromnom mišljenju radimo odlične stvari – pokušavamo u C okruženju optimizirati stvari na razini CPU registara koji se koriste – koliko cache linija je u upotrebi i koliko nanosekundi će potrošiti na neku funkciju. U prijevodu, ljude kakve tražimo oduševit će razina detalja koji su u ovom okruženju ključna stvar. Što se Golanga tiče, nedavno smo javnosti objavili dva open-source projekta koji oplemenjuju HAProxy ekosustav integracijom s Kubernetesom i univerzalno korisnim REST API-jem. Ti projekti će nastaviti rasti, a pripremamo ih još.

Ako biste u razgovoru htjeli privući nekoga u tvrtku, što biste im posebno istaknuli?
Pitate za ping pong..? (smijeh)
Mislim da nismo vrsta tvrtke koja treba isticati udobne stolice ili slične zapravo sporedne stvari. Rekao bih da je glavna prednost to što radimo na projektima koji su svjetski poznati i priznati u svom okruženju. Infrastruktura na kojoj radimo je izrazito napredna i jedinstvena, a veličina sustava nije uobičajena za naše lokalno okruženje s obzirom na broj servera, količinu podataka, broj korisnika, količinu prometa koja prolazi kroz infrastrukturu i slično. S obzirom na strukturu tima, direktno surađujemo s core developmentom sa strane klijenta, što podrazumijeva redovna putovanja do Pariza te njihove posjete nama. Dalo bi se tu svašta reći, no ne želim skretati pozornost s tehnički napredne infrastrukture – ok, osim možda predivnog pogleda iz ureda za one romantične ili boksačke vreće za...sportske tipove. 

Koliko ljudi imate u Vašem timu?
Na C developmentu lokalno imamo tri čovjeka, na Go developmentu dvojicu, imamo četvoricu ljudi koji rade frontend (Vue.js) i još nekoliko koji rade u backendu, u raznim skriptnim jezicima. Blisko surađujemo s product, sales, marketing i (UX) dizajnerskom ekipom. Imamo kvalitetne ljude koji imaju znanje i vole ga prenositi. Bitno je spomenuti da Crossvallia lokalno ima urede u Zagrebu, Rijeci i Sarajevu – svaki od njih je potencijalno novo radno mjesto za developera koji nam se odluči pridužiti. 

Kakvo je radno vrijeme? U prijevodu, koliko ste fleksibilni?
Fleksibilni smo po pitanju radnog vremena - naviknuti smo na suradnju s različitim vremenskim zonama. Isto je i po pitanju radnog mjesta - telecommuting je nešto na što smo navikli, i tko misli da kvalitetnije radi s druge lokacije ima tu opciju. Štoviše – velika većina je koristi i dolasci u ured ovise o dogovoru. Cilj nam je dobiti što bolju produktivnost, na način da su članovi tima zadovoljni, a posao (izvrsno) obavljen. E sad, imamo članove time koji odabiru raditi iz ureda iz raznih razloga, dok neke moramo „dovlačiti“ iz drugih gradova samo da bismo zajedno ručali. Organizacija team building aktivnosti je tek pravi izazov. Naravno, uspijevamo i mogu s ponosom reći  da je tim, remote članovima unatoč, iznimno dobro povezan, a posao teče prema planu. 

Koje tehnologije koristite na razini cijele firme? Koje metodologije?
Da ponovim, cijeli naš environment je baziran na Linuxu. Popis pojedinačnih tehnologija možete naći na našem webu – iako mislim da je i nešto širi u zadnje vrijeme. 

Što se metodologije tiče, nismo robovi development procesa, ne inzistiramo da se na sve primjenjuje ista metodologija, Kanban, Scrum ili nešto treće. Svaki naš projekt ili zadatak je specifičan i dolazi s jedinstvenim skupom zahtjeva i ograničenja. Metodologiju prilagođavamo konkretnom slučaju, a sve funkcionira zahvaljujući uhodanoj ekipi koja broji mnoge seniore, dobroj dokumentaciji i komunikaciji.

Dodatni benefit je što dio naših open-source klijenata, zajedno s nama, redovno dobiva feedback iz communityja. U prijevodu, softver koji razvijamo koristi se u aktivnim projektima, a povratne informacije njegovih korisnika nam pomažu da se eventualne greške i bugovi koji se uoče u standardnom radu popravljaju odmah. 

I za kraj – što bi poručili našim čitateljima? 
Uvijek se isplati ulagati u sebe. U Crossvalliji očekujemo dosta od naših ljudi, ali zauzvrat im se otvara prilika da osjete, iskuse i rade u projektima i okruženjima kakvih jednostavno nema na lokalnom tržištu, i na taj način se unaprijede i u osobnom i profesionalnom smislu.