Andrea Knez Karačić, programerka električnih automobila, Rimac Automobili - Svestrana specijalka
Svoje iskustvo iz stvarnog svijeta programiranja na ovogodišnjoj Change konferenciji opisat će i Andrea Knez Karačić, M2M Software Manager, žena koja piše programe koji upravljaju Rimac automobilima. Uz kompjutore i brze aute, Andreu još jako zanimaju psihologija i odnosi među ljudima te baš sve čime može poboljšati svijet oko sebe. Andrea svoje interese vješto spaja i jednim dodatnim hobijem. O čemu je riječ pogledajte na Internetu, na njenom blogu: CodeWithCream
![](/img/andrea-knez-karacic-programerka-elektricnih-automobila-rimac-automobili-_k9Hxgy.jpg)
Kako se razvoj softvera za električne automobile razlikuje od pisanja kôda za mobilne aplikacije ili poslovne sustave?
Razvoj softvera za električni automobil ne čini samo razvoj aplikacija koje korisnik direktno vidi. Softver se proteže od najmanjeg čipa, većih sustava koji upravljaju vozilom, infotainmenta, ADASa (Advanced Driver-Assistance Systems) do M2M (Machine to Machine) sustava čiji su dio i web-aplikacija za analizu podataka te mobilna aplikacija za vozača za čiji je razvoj zadužen moj odjel. Gotovo svaki odjel u R&D-u proizvodi softver u nekom obliku. Slijedimo agilne principe, koristimo GitFlow, pišemo unit testove, pratimo dogovorene coding standarde, radimo code reviewe i općenito jako pazimo na kvalitetu kôda, što smatram da čini bitan dio razvoja bilo kakvog softvera. Sigurnost, komunikacija s hardverom i obrada velike količine podataka u kratkom vremenu dijelovi su našeg posla gdje se možda izdvajamo od nekih “jednostavnijih” aplikacija.
U kojem programskom jeziku programirate e-automobile?
Kada bih počela nabrajati sve tehnologije i jezike koje koristimo da bismo razvili sav softver u automobilu, ne bismo imali dovoljno stranica, stoga ću spomenuti samo tehnologije u M2M odjelu. Za backend dio koristimo Javu uz Spring. Backend dio najvažniji je dio sustava. Pobjedu nad .NET-om Java je odnijela time što su developeri u timu imali više iskustva u Javi . Dio sustava u autu s kojeg skupljamo podatke pisan je u C++-u. Za pohranu podataka iz automobila koristimo Time series bazu (InfluxDb). To je posebna vrsta baze koja je optimizirana za pohranu i dohvat vremenskih serija. Web-aplikacija pisana je u React.jsu, a mobilna u native tehnologijama.
Što je u programiranju Rimčevih e-jurilica i brzih Greyp bicikla trenutačno najveći izazov?
Najveći je izazov za obje tvrtke kako organizirati kompaniju sada već srednje veličine, a pritom zadržati startupsku atmosferu u kojoj je tvrtka i pokrenuta. Mnogo toga je već “posloženo” no mogu reći i da smo jako daleko od uštogljenih korporacija. Tehnički izazovi su procesiranje i analiza ogromne količine podataka – iz auta dobivamo preko 200 signala koji se uzorkuju različitim frekvencijama. Ta količina podataka za Concept_One ili C_Two ne čini se velika, no M2M sustav proizvod je koji Rimac kao tehnologiju prodaje puno većim proizvođačima automobila pa ta brojka može narasti i na nekoliko stotina tisuća vozila. Mnogo vremena ulažemo u dizajn i UX kako bismo vozaču Rimac automobila dali auto koji će mu pružiti vrhunski doživljaj vožnje.
Što vas je navelo na programiranje?
Programiranje sam dotakla tek kada smo ga počeli učiti u srednjoj školi. Zaljubila sam se u dijagrame toka i rješavanje problema dok još nisam ni znala da se to zove programiranje. Ubrzo sam znala koji fakultet želim upisati i čime se želim baviti kad odrastem. Još uvijek ne mogu zamisliti da se bavim ičim drugim.
Kako se – u Rimcu i inače – educirate?
Osnovni izvor proširivanja znanja su mi konferencije. U razgovorima i diskusijama s tim društvom svaki put jako puno naučim. Osim odlazaka na konferencije, Rimac često organizira interne edukacije. Najviše o vođenju timova učim na Leading in Tech meetupu, čiji sam suorganizator, a o programiranju u svakodnevnom code reviewu i diskusijama. Osim toga, volim čitati knjige pa svaki slobodni trenutak provedem čitajući neko zanimljivo štivo. Trenutačno čitam “Extreme Ownership: How U.S. Navy SEALs Lead and Win”.
NAPOMENA: Ovaj tekst je izvorno objavljen u časopisu Mreža.