Zbog prirode posla, OptimoRouteovi programeri u 4 godine nauče stvari koje neki ne vide u čitavoj karijeri

Zbog prirode posla, OptimoRouteovi programeri u 4 godine nauče stvari koje neki ne vide u čitavoj karijeri

Umjesto vojske inženjera, oni osvajaju svijet uz malen tim i odličnu arhitekturu i dizajn. Na čemu radi i kako radi tim iza jednog od najboljih sustava za optimizaciju ruta, saznali smo od osnivača Frane Šarića.

Nije tajna kako je konkurencija za svakog pojedinog developera izuzetna. Kada danas završite FER ili neki od srodnih fakulteta gotovo sigurno već imate barem jednu ponudu za posao od neke agencije ili tvrtke. Dilema često kreće od toga je li bolje otići u veliku tvrtku, agenciju, ili u manji tim. Danas ćemo vam uz Franu Šarića, suosnivača hrvatskog OptimoRoutea pojasniti zašto bi razvoj digitalnog proizvoda mogla biti vaša karijerna opcija.

Pronalazak sličnosti u najrazličitijim industrijama

Ako ste programer koji želi isprobati velik broj različitih tehnologija i vjerujete da biste se u svakoj našli kao kod kuće – sigurno vas zanima kako radi tim koji okuplja bivše Googleove, Facebookove, IBM-ove i Yelpove inženjere. Najvažnija stvar kod OptimoRoutea je posve in-house razvijen algoritam koji je fleksibilan, prilagodljiv i rješava zadatke koji inače mogu biti izuzetno kompleksni kada imate 1000 klijenata.

OptimoRouteova rješenja omogućavaju tvrtkama svih veličina da što je moguće bolje ispoliraju rute svojih zaposlenika, i u tome su jedni od najboljih na svijetu. Frane:

Naš napredni algoritam uzima u obzir cijelu cestovnu mrežu, vrijeme putovanja, radno vrijeme, plaće vozača ili dostavljača, potrebne vještine, troškove goriva i vozila i još mnoge druge varijable koje utječu na konačnu cijenu odnosno trošak u stvarnom svijetu. Više od tisuću poduzeća za dostavu i terenske usluge u mnogim različitim industrijama danas koriste OptimoRoute za izradu najboljih mogućih rasporeda i ruta.

OptimoRoute surađuje s klijentima iz svijeta, ali i s domaćim Medvedgradom. Medvedgrad

Ideja za OptimoRoute nastala je kada je suosnivač Goran Kukolj razvijao sustav za praćenje vozila i tako shvatio da postoji izuzetna potreba tvrtki za ovakvim rješenjima. Danas njihov sustav koristi više od 1000 klijenata iz raznih industrija:

Koriste nas tvrtke i obrti za dostavu hrane ili robe, ali i čistači bazena. Isto tako među našim klijentima imamo i Fortune 500 tvrtku i najjaču tvrtku za zbrinjavanje industrijskog otpada u EU. Na prvi pogled izgledaju neusporedivo: različite industrije, različiti klijenti, no njihov radni dan informatičar na kraju predstavlja s identičnim strukturama podataka, grafovima, matricama, itd. i rješava problem istim algoritmima.

Zanimljivo je kako je tehnika raspoređivanja rute kroz više dana koju je OptimoRoute razvio za protupožarne inspektore na kraju našla svoj put do prodavača i dostavljača mesa. Klijenti, jasno, teško vide kako je to moguće, ali za OptimoRoute (i njihove developere) je povezivanje nepovezivog postalo svojevrstan način poslovanja.

Algoritmi su dovoljno “pametni” da slažu sve

Zanimljivo kako se tisuću klijenata iz desetaka različitih industrija koordinira uz pomoć malo više od dvadesetak zaposlenika. Na pitanje kako se ne ‘ubijaju’ od posla s obzirom da su malen tim, Frane mi odgovara:

Ili ćete utrošiti vrijeme u arhitekturu i dizajn ili ćete imati vojsku inženjera koja će za gotovo svaku novu situaciju ići pisati novu stvar, ali tada više nemate eksponencijalno rastući startup, nego sporo rastuću konzultantsku kompaniju koja će se urušiti pod nepreglednom količinom koda za održavanje.

Ovo je zapravo jedini mogući način, pojašnjavaju iz OptimoRoutea. Kada ne bi imali sustav u oblaku koji je otporan na probleme i razrađenu arhitekturu, morali bi upregnuti čitave timove koji ne bi mogli spavati od notifikacija i alarma, što nikako ne bi bilo smisleno – a ni previše skalabilno, dodaje Frane.

Možemo se pohvaliti da danas imamo dostupnost veću od 99,99% u svim vremenskim zonama zahvaljujući silnom trudu uloženom u dizajniranje robusnog high availability cloud sustava. Na primjer, imamo otpornost na prekid rada mreže, pad računala, razno raznih vanjskih servisa, itd. To je pogotovo važno jer nas tvrtke koriste 24/7 od SAD-a i Kanade do Australije i Novog Zelanda.
Što je zajedničko dostavi mesa, protupožarnoj inspekciji ili servisu bojlera? Svi moraju voziti do klijenata, a iako su poslovi različiti – optimizacija njihovih ruta je djelo zagrebačkog OptimoRoutea.

Odlična poveznica tu je Microsoft Word, objašnjava mi Frane. Svi ga koristimo za neke svoje ideje i projekte, to je jedno rješenje koje je prilagodljivo svima. Ne postoji Word za pravnike ili Word za pisce. Osim toga, ni Word u svojoj prvoj inačici nije imao sve značajke koje su dostupne danas, ali se došlo i do njih jer su postojale osobe kojima su trebale. Tako i OptimoRoute svakodnevno širi svoju ponudu značajki kako bi sustav prilagodili još većem broju industrija te tako njima pomogli u skaliranju poslovanja:

Tvrtka Telgian za protupožarne inspekcije je silno željela da OptimoRoute može napraviti planove za nekoliko tjedana unaprijed. Bacili smo se na to jer smo prepoznali da će to koristiti i brojne druge tvrtke koje s nama surađuju. Telgian je bio presretan, realizirali su ogromne uštede, a mi smo s vremenom dobili još troznamenkasti broj klijenata koji su tražili isto rješenje.

OptimoRoute je dizajniran za rad s Googleom, Bingom, AWSom, Azureom i golim serverima te tako da je dijelove moguće prebacivati na Rust, Go, C++ ili gdje god paše. Algoritmi su dovoljno “pametni” da slažu sve – od kamiona s namještajem do ruta servisera plinskih postrojenja diljem svijeta.

Nešto ne znate? Naučit ćete.

Naravno, ove modifikacije i prilagodljivost znače da su developeri koji u OptimoRouteu rade motivirani kontinuirano nadograđivati svoje znanje. Ipak, ne moraju nužno imati široko predznanje u startu. Iz OptimoRoutea mi kažu kako će kod njih u prvom mjesecu novi programer pisati u Javascriptu, Pythonu, C++u i Typescriptu, čak i ako nikada nije radio u većini tih jezika. A cilj ovoga?

Cilj nam je da inženjeri preuzmu veći dio OptimoRoute sustava, usavršavaju ga i nadograđuju što je više moguće i onda prelaze na nove stvari. Dakle, nakon početnog širenja znanja svi više idu u dubinu u nekom dijelu sustava i nakon nekog vremena prebacuju se dalje na nove izazove.

Ključ rada u OptimoRouteu tako postaje način razmišljanja i primjena znanja na gotovo sve moguće probleme. Tako od inženjera žele stvoriti osobu koja se može uhvatiti bilo kakvog teškog problema u računarstvu. Frane mi kaže da žele da vas, nakon što radite nekoliko godina, kolege pitaju kako je to što radite uopće moguće napraviti:

Najiskusniji inženjeri brzo uđu u desetke ili stotine tisuća linija tuđeg koda, te ubrzo naprave kirurški precizne promjene kojima dodaju neko poboljšanje ili isprave kritični bug.

Prekaljeni programeri kroz nekoliko mjeseci dubinski usvoje novi programski jezik i lako se prilagođavaju novim bibliotekama. Ne znate neki algoritam? Pročitat ćete o njemu znanstveni rad i sintetizirati vlastito rješenje, ponekad iz nule. Otići ćete i korak dalje i primijetiti da se za neki naš slučaj taj algoritam može pojednostaviti i unaprijediti.

Velik dio malog tima, a ne obrnuto

Ako ste pročitali do ovog dijela, vjerojatno znate da se u OptimoRouteu neće raditi o tome da se od jutra do sutra bavite samo jednim dijelom jednog velikog sustava, kao u nekim drugim tvrtkama:

U OptimoRouteu u kratkom vremenu radite na backendu, frontendu, distribuiranim sustavima, hvatate se u koštac s algoritamski zahtjevnim kodom i slično. Da ne pričamo o programskim jezicima: ako se niste susreli s najnovijim idiomima u C++-17 – koga briga, naučit ćete kroz par mjeseci.

Novi OptimoRoute programeri tako se već u nekoliko mjeseci uvlače u rasprave o distribuiranim sustavima, jezicima, bibliotekama i obrascima softverskog dizajna. Nakon nekoliko godina tako dobijete ljude koji znaju puno, ali najviše od svega znaju rješavati probleme na kreativan način:

Što se postiže nakon nekoliko godina? Sve je manje stvari koje izgledaju kao čarolija. Novi programski jezik podsjeća na 3-4 koja ste već susreli. Nove biblioteke recikliraju stare ideje, počinjete čak biti amaterski softverski arheolog i govoriti stvari kao što su: “Pa OK, ovo je Microsoft pokušao u 1990-ima sa CORBA-om”.

Polako, ali sigurno postajete autoritet drugim inženjerima koji spontano prilaze i oslanjaju se na vaše iskustvo i znanje. Često kažemo da zbog naše prirode posla vidite u 3-4 godine ono što mnogi ne vide kroz cijeli radni vijek.

Čak i gamedev iskustvo dobro dođe

OptimoRoute specifičnosti ne staju samo na širokom znanju. Frane mi kaže da, budući da ih koriste stotine tvrtki istovremeno naglasak mora biti na performansama same aplikacije. Optimizacijski engine pisan je u C++-u, backend u Python, frontend uglavnom u JavaScriptu a mobilna aplikacija u Typescriptu s nešto Objective-C i Java-e:

Za vizualizaciju više tisuća narudžbi ne možemo se osloniti na klasičan prikaz u internetskom pregledniku pomoću DOM-a jer je to iritirajuće sporo. Umjesto toga koristimo Canvas i WebGL, a to su tehnologije puno bliže nekome tko je pisao 2D/3D engine za računalne igre.

Ako želimo postići glatke animacije ogromnih GANTT dijagrama servisa i dostava, brzo skrolanje i rad na slabijim računalima (kakve naši korisnici često imaju), pazit ćete da GPU preuzima maksimalnu količinu posla i znat ćete i pokoju stvar o shaderima, font atlasima, itd. a slične vještine imat će i netko tko je radio svoj 3D engine iz nule.

Za kraj, Frane mi kaže kako je OptimoRoute tijekom pandemije surađivao s velikim brojem tvrtki koje su nastojale prilagoditi svoje poslovanje novonastaloj krizi, dapače tijekom krize ostvaruju rekordne stope rasta. Kao primjer izdvajaju Local Roots iz New Yorka koji je pokrenuo dostavu i povećao flotu dostavnih vozila za četiri puta u samo 48 sati, a broj dostava im je narastao s 50 tjedno na gotovo 400 dnevno.

Sustav koji im omogućava glatke dostave je, jasno, djelo male tvrtke iz Zagreba u kojoj se prije svega ponose na svoje programere i činjenicu da oni mogu riješiti gotovo svaki problem koji postoji u poslu. Želite li biti dio tima, znate adresu.

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 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)
  • 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 (Hrvoje Lončar) ili barem ime i inicijala (Hrvoje L.) te pravu email adresu. Kako koristimo podatke koje tamo 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. Mario

    Mario

    15. 10. 2020. u 10:46 pm Odgovori

    Neka je i PR ali nakon rečenice ‘kod njih u prvom mjesecu novi programer pisati u Javascriptu, Pythonu, C++u i Typescriptu’ prestao sam čitati zbog neozbiljnosti pristupa.

    Usput probao sam sistem na rutama u Zagrebu i definitivno nije dao optimalne rute za desetak točaka, negdje je odabrao dalju točku preuzimanja od meni najbliže pa se tek onda onda vraćao na meni bližu itd. Imate dosta prostora za iomprovement.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Analiza

Bitcoin obara rekorde: Prešao vrijednost 23.000 dolara (i konačno dospio u medije nakon 2017.)

Kako se Bitcoin uspoređuje s hrvatskom kunom? I zašto, osim ako ne pratite aktivno vijesti o njemu, niste o Bitcoinu puno čuli od 2017. naovamo - sve dok nije počeo ponovno obarati rekorde?

Tehnologija

Može i bez tvornica: Hrvatska kao “meka” za R&D automobilske industrije!

2020. je za domaći IT donijela mnogo dobrih vijesti, a kakav potencijal naši stručnjaci donose za industriju automobila u 2021. i narednim godinama otkrili su nam Tomislav Car (Porsche Digital Croatia) i predstavnici dSPACE Engineeringa.

Startupi i poslovanje

Hrvatski Electrocoin otkriva kako su ih proizvodi za kriptovalute doveli do 330 milijuna kuna godišnjeg prometa

Krajem 2020. uvršteni su u sam vrh Deloitte Fast 50 ljestvice, imaju 3 proizvoda, a osim što sami rastu, u zadnje vrijeme bujaju i kriptovalute kojima su posvetili svoje poslovanje. Bio nam je to dobar povod da s jednim od direktora Electrocoina, Nikolom Škorićem, razgovaramo o izazovima vođenja hrvatskog poduzeća koje se bavi kriptovalutama.

Što ste propustili

Tehnologija

7 lekcija koje možemo naučiti iz najvažnije godine za online trgovinu!

eCommerce eksplozija otkrila je dragulje i jame - mnogi su se u 2020. našli pred velikim izazovima; neki jer im online trgovina nikada nije bila opcija, drugi jer su prihvaćali svakakva rješenja u zadnji čas - rijetki su pobrali vrhnje jer su prepoznali potencijal mnogo ranije.

Startupi i poslovanje

Tipsy vam u Zagrebu dostavlja piće unutar 3 sata – uz pomoć Craft Technology softvera

Radi se o novom brendu Wine&morea, koji su postojeću logistiku i softver iskoristili za ciljanje domaće, mlađe publike. Osim što su dokazali da u kratkom roku mogu pokrenuti novi brend, Tipsy im je poslužio i kao studija slučaja za vlastiti softver, kako za Netokraciju otkrivaju Ivan Kovačević i Dario Drmač.

Mobilno

Skinuli ste i Telegram i Signal, a niste znali: EU Hrvatima štiti podatke od WhatsAppa!

Elon Musk tweetne: "Koristite Signal". Internet poludi. Bismo li ga trebali poslušati i zašto?

Novost

Anita Lacmanović postala nova generalna direktorica SAP-a Hrvatska

Anita Lacmanović nova je generalna direktorica SAP-a Hrvatska, a njezino vođenje tvrtke obilježit će nova strategija s jasnim fokusom na ubrzani prelazak korisnika na rješenja u oblaku te predanost uspjehu postojećih i budućih SAP-ovih klijenata, stoji u priopćenju.

Kultura 2.0

Incijativa digitalca iz Siska osigurala gotovo 1.000.000 kuna za pomoć Glini, Petrinji i okolici

Siščanin Goran Kovačević odmah je nakon prvog prošlogodišnjeg potresa u Petrinji pokrenuo crowdfunding kampanju za pomoć svima pogođenima potresom. Brojimo još samo nekoliko dana prije isteka!

Kultura 2.0

Hrvatski znanstvenici pripremaju veliko istraživanje o komunikaciji u koronakrizi – na Twitteru, YouTubeu i Redditu!

(Dez)informacije o koronavirusu ne jenjavaju ni godinu dana od početka pandemije, dapače, njihovo širenje na društvenim mrežama samo raste. Kako te poruke utječu na stavove Hrvata? Uskoro će nam više otkriti domaći znanstvenici i stručnjaci metodama iz područja obrade prirodnoga jezika, dubokog učenja i analize društvenih mreža.