Software developer (m/ž)
Description
Razvoj in nadgradnja programskih rešitev za napredne simulacijske sisteme.
Razvoj funkcionalnih prototipov (MVP) od začetne ideje do delujoče rešitve.
Integracija programske opreme z različnimi sistemi, senzorji, napravami in komunikacijskimi vmesniki.
Načrtovanje in implementacija novih funkcionalnosti ter samostojnih programskih modulov.
Razvoj in optimizacija programske opreme v okoljih Linux in Windows.
Testiranje, odpravljanje napak in izboljševanje zanesljivosti ter učinkovitosti programskih rešitev.
Pričakujemo
Dobro poznavanje vsaj enega programskega jezika (C++, C#, Python ali Java).
Dobro razumevanje objektno usmerjenega programiranja (OOP), podatkovnih struktur in osnov programske arhitekture.
Sposobnost samostojnega načrtovanja in implementacije rešitev na podlagi tehničnih zahtev.
Izkušnje z razvojem, integracijo in testiranjem programskih rešitev (iz študijskih ali lastnih projektov).
Razumevanje osnov komunikacijskih protokolov in povezovanja različnih sistemov.
Poznavanje orodij za verzioniranje programske kode (Git).
Analitično razmišljanje, proaktivnost in veselje do reševanja kompleksnih tehničnih izzivov.
Dodatna prednost:
Izkušnje z razvojem programske opreme za simulacijske sisteme ali aplikacije v realnem času.
Lastni tehnični projekti, homelab, odprtokodni projekti ali sodelovanje na hackathonih.
Razumevanje večnitnega programiranja in optimizacije zmogljivosti.
Izkušnje z integracijo strojne in programske opreme ter povezovanjem senzorjev in drugih naprav.
Poznavanje serijskih vodil (I2C, SPI, UART) in komunikacijskih protokolov (MQTT, TCP/UDP ipd.).
Osnovno poznavanje elektronike, radiotehnike ali vgrajenih sistemov.
Izkušnje z razvojem prototipov in hitrim preverjanjem tehničnih konceptov.
Poznavanje programskega jezika Rust.