AND Digital
AND Digital
AND Digital je tehnološko svetovalno podjetje, ki organizacijam pomaga krepiti njihove digitalne zmogljivosti in razvijati boljše digitalne izdelke. Njegovo delo obsega svetovanje, programsko inženirstvo, razvoj mobilnih aplikacij, oblikovanje uporabniške izkušnje in podatkovne rešitve ter podpira stranke v Združenem kraljestvu, Evropi in ZDA. S pristopom »Usmerjaj, Izgradi, Opremi« AND Digital združuje praktično izvedbo z izgradnjo zmogljivosti ter deluje prek tesno povezanih klubov, ki združujejo predan odnos s strankami z dostopom do širšega tehničnega strokovnega znanja.

Pogodbeni razvijalec C++ – hibridno delo v Londonu

Položaj pogodbenega razvijalca C++ v podjetju AND Digital vključuje razvoj zanesljive programske opreme embedded Linux za varnostno kritično medicinsko tehnologijo. Delo zajema aplikacijske komponente v C++17, alarme, obstojnost podatkov, nadzor in upravljanje napak.

Opis

  • Razvijanje pogojev za tehnične alarme iz telemetrije strojne opreme in operacijskega sistema
  • Izvajanje alarmov za pacientove senzorje, kakovost signala in zunanje spremljanje
  • Vključevanje strojnih alarmnih vmesnikov, vključno z utišanjem, preverjanjem ravni alarma in telemetrijo
  • Izgradnja mehanizmov za obravnavo napak in obnovitev
  • Razvijanje samopreizkusov ob vklopu, združljivosti strojne opreme, GPU-ja in sistema
  • Izvajanje varnostnih stanj ob napakah, upravljanja napak, nadzornikov in sistemskega nadzora
  • Podpora zaznavanju in obnovitvi prekinjenih sej
  • Razvijanje aplikacijskega in revizijskega beleženja ter rotacije dnevnikov
  • Izgradnja vmesnikov za shranjevanje z atomarnimi zapisi in zapisi s kontrolnimi vsotami
  • Upravljanje branja, brisanja in seznama sej na fiksnih particijah shrambe
  • Razvijanje pakiranja, čakalnih vrst, zapisovanja, hrambe in pridobivanja podatkov o pacientih
  • Podpora dopolnjevanju podatkov in prikazu zgodovinskih podatkov
  • Ustvarjanje različicno upravljanih vmesnikov med zalednimi podatki in grafičnim vmesnikom
  • Upravljanje življenjskih ciklov pacientovih senzorjev in sej
  • Podpora metapodatkom sej, obnovitvi in urejenemu zaustavljanju
  • Razvijanje obravnave gumba za vklop in nadzorovanih postopkov izklopa
  • Podpora izvozu podatkov prek USB-ja, servisnim orodjem in servisnim obdelovalnikom naprave
  • Podpora posodobitvam programske opreme, potrditvi in postopkom povrnitve
  • Izvajanje pridobivanja dnevnikov in revizijskega beleženja
  • Prevzem samostojnega področja aplikacije od zasnove do združene, preizkušene in dokumentirane kode
  • Sodelovanje s programskim arhitektom in inženirji, ki delajo na povezanih komponentah
  • Prispevanje k strogo reguliranemu, varnostno kritičnemu izdelku medicinske tehnologije

Zahteve

  • Bogate izkušnje z razvojem sodobnih aplikacij C++17 v okolju embedded Linux
  • Dobro poznavanje RAII, tipov fiksne širine, std::atomic, večnitnosti ter brezzaklepnih ali omejenih čakalnih vrst
  • Izkušnje z razvojem programske opreme, pri kateri sta deterministično vedenje in zanesljivost ključna
  • Izkušnje z izvajalnimi okolji brez alokacij ali z malo alokacijami, vključno s predhodno dodeljenim pomnilnikom in vsebniki s fiksno zmogljivostjo
  • Izkušnje z arhitekturo vrat in adapterjev ali heksagonalno arhitekturo, vmesniki in vbrizgavanjem odvisnosti
  • Bogate izkušnje s sistemsko integracijo Linuxa, vključno s storitvami, nadzorniki in upravljanjem sistemskih napak
  • Izkušnje z IPC in tehnologijami serializacije, kot so FlatBuffers, domenske vtičnice Unix ali imenovane cevi
  • Izkušnje s CMake, avtomatiziranim testiranjem in cevovodi CI/CD
  • Izkušnje s križnim prevajanjem, idealno za platforme aarch64
  • Bogate izkušnje z enotskim testiranjem, pokritostjo kode in kakovostnimi kontrolnimi točkami
  • Sposobnost dela v formalnih inženirskih procesih, vključno s kolegialnimi pregledi, sledljivimi spremembami in dokumentiranimi oblikovalskimi odločitvami
  • Izkušnje z razvojem varnostno kritične, misijsko kritične ali strogo regulirane programske opreme
  • Izkušnje z razvojem medicinskih pripomočkov ali drugih varnostno kritičnih sistemov (zaželeno)
  • Izkušnje z delom v reguliranih okoljih ali znanostih o življenju (zaželeno)
  • Visoka raven znanja umetne inteligence (zaželeno)
  • Poznavanje IEC 62304, ISO 13485 ali primerljivih standardov za razvoj regulirane programske opreme (zaželeno)
  • Izkušnje z medicinskimi alarmnimi sistemi ali drugimi sistemi alarmov in upravljanja napak (zaželeno)
  • Razumevanje IEC 60601-1-8 ali enakovrednega varnostnega standarda (zaželeno)
  • Izkušnje z nadzorniki in sistemi za upravljanje napak, ki temeljijo na avtomatih stanj (zaželeno)
  • Izkušnje z NVIDIA Jetson, CUDA ali obdelavo, pospešeno z GPU-jem (zaželeno)
  • Izkušnje z Yocto in paketi podpore za vgrajene plošče Linux (zaželeno)
  • Izkušnje s systemd, sd_notify, D-Bus in journald (zaželeno)
  • Izkušnje z OpenSSL, TensorRT ali podobnimi zunanjimi tehnologijami (zaželeno)
  • Izkušnje z uporabo Dockerja za razvojna okolja (zaželeno)
  • Izkušnje z GoogleTest, vedenjskim testiranjem ali Gherkinom (zaželeno)
  • Izkušnje s Pythonom za orodja in namestitvene skripte (zaželeno)
  • Izkušnje s prispevanjem k dejavnostim programske FMEA in izvajanjem ukrepov za obvladovanje tveganj (zaželeno)

Ugodnosti

  • Delodajalec, ki zagotavlja enake možnosti in se zavzema za vključujoče delovno okolje
  • Po potrebi so v celotnem postopku zaposlovanja na voljo razumne prilagoditve