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.

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

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

Digitalni marketing

Digitalna industrija je u ku*cu, ali Social Dilemma je jeftina Skynet drama koja to ne zna reći

Social Dilemma nije više #1 izbor na Netflixu, a mnogi su već dali svoje mišljenje neovisno o tome jesu ga gledali. Ovo je kritički osvrt na odlično vizualno ostvarenje dokumentarca koji otvara mnoga pitanja, ali i isceniranu dramu o zlim društvenim mrežama koja daje malo odgovora - često površnih.

Startupi i poslovanje

Mate Rimac transparentno o financijama, svojoj plaći, kampusu i uključivanju radnika kao suvlasnika Rimac Automobila

U izuzetno dobrodošlom primjeru transparentnosti koji rijetko viđamo u svjetskoj, a kamoli hrvatskoj tehnološkoj industriji, Mate Rimac je na YouTubeu objavio sat vremena dug pregled izvještaja Rimac Automobila za treći kvartal 2020. Izdvajamo neke od zanimljivijih informacija.

Startupi i poslovanje

Bivši investitor u 500 Startups savjetuje hrvatske startupe: Akvizirajte klijente i korisnike od kojih ćete učiti!

Marvin Liao već 10 godina ulaže u startupe u srednjoj i istočnoj Europi, u zemljama poput Srbije i Ukrajine. U razgovoru za Netokracija Podcast daje praktične savjete za hrvatske tehnološke poduzetnike u doba pandemije!

Što ste propustili

Najava

Kako ostvariti developersku karijeru u Osijeku – saznaj 30.11. uz domaće IT stručnjake!

Hrvatska IT scena ne gradi se samo u Zagrebu! Zato ova Digitalna karijera ide u Osijek. Kako razviti IT karijeru i u drugim gradovima Hrvatske saznat ćemo uz tvrtke koje upravo tamo traže pojačanje.

Startupi i poslovanje

Hrvatsko-slovenski Mercury PSI i danski Nets skupa kreću u digitalizaciju plaćanja diljem Europe

Biometrijske isprave, beskontaktna plaćanja i društvo bez gotovine: sve su ovo ideje koje nam dolaze iz danskog Netsa, a odnedavno ih razvijaju i domaći stručnjaci iz Nets CEE.

Novost

47.000 korisničkih računa s domene .hr je kompromitirano, provjerite jesu vaši među njima!

Određeni broj lozinki pojedinih korisnika nalazi se u čistom tekstualnom obliku i one nisu ni na koji način zaštićene te ih je moguće veoma jednostavno iskoristiti.

Novost

Amazon nije “ušao u Hrvatsku”, dostupan je godinama, novost je samo (možda) veća ponuda za Hrvate

Jučer i danas čitamo vijesti o trijumfalnom dolasku Amazona u Hrvatsku. Ništa nije potvrđeno, a čini se da smo samo dobili nešto bolju ponudu.

Vodič

Kupujete online? Prvo provjerite je li web trgovina sigurna – evo i kako!

Vaš prvi korak do proizvoda koji želite su web trgovine. Neke će vam biti manje jednostavne za korištenje, neke više - ali za svaku od njih trebate znati je li sigurna prije nego kliknete "Kupi". Donosimo par savjeta kako ih lako možete provjeriti...

Intervju

CTO Shoutema Tara Oroz Rajaković: Tata je “kriv” što sam upisala FER

"Mnogi se često čude tome da sam nakon jezične gimnazije završila na tehničkom fakultetu."