
1001 – 5000 Dipendenti
Sponsor per visto per lavoratori qualificatiConsulenzaIngegneria del softwareSaaSAND Digital è una società di consulenza tecnologica che aiuta le organizzazioni a rafforzare le proprie capacità digitali e a realizzare prodotti digitali migliori. Le sue attività comprendono consulenza, ingegneria del software, sviluppo di applicazioni mobili, progettazione dell’esperienza e soluzioni per i dati, a supporto di clienti nel Regno Unito, in Europa e negli Stati Uniti. Attraverso il suo approccio «Guidare, Costruire, Attrezzare», AND Digital combina la realizzazione pratica con lo sviluppo delle competenze, operando tramite club affiatati che affiancano relazioni dedicate con i clienti all’accesso a una più ampia expertise tecnica.
Sviluppatore C++ a contratto - Ibrido a Londra
Ruolo di sviluppatore C++ a contratto presso AND Digital, per realizzare software Linux embedded affidabile destinato a tecnologie mediche critiche per la sicurezza. Il lavoro comprende componenti applicativi in C++17, allarmi, persistenza, supervisione e gestione dei guasti.
Descrizione
- Sviluppare condizioni di allarme tecnico a partire dalla telemetria dell’hardware e del sistema operativo
- Implementare allarmi per sensori dei pazienti, qualità del segnale e monitoraggio esterno
- Integrare le interfacce di allarme hardware, inclusi controlli di silenziamento, convalida del livello di allarme e telemetria
- Creare meccanismi di gestione e recupero dai guasti
- Sviluppare autotest di accensione, compatibilità hardware, GPU e sistema
- Implementare stati fail-safe, gestione dei guasti, watchdog e supervisione del sistema
- Supportare il rilevamento e il recupero delle sessioni interrotte
- Sviluppare logging applicativo, audit logging e rotazione dei log
- Creare interfacce di archiviazione con scritture atomiche e checksum
- Gestire lettura, eliminazione ed elenco delle sessioni nelle partizioni di archiviazione fisse
- Sviluppare impacchettamento, accodamento, svuotamento, conservazione e recupero dei dati dei pazienti
- Supportare il recupero retroattivo dei dati e la presentazione dei dati storici
- Creare interfacce versionate tra i dati del backend e l’interfaccia grafica
- Gestire i cicli di vita dei sensori dei pazienti e delle sessioni
- Supportare i metadati delle sessioni, il recupero e l’arresto ordinato
- Sviluppare la gestione del pulsante di accensione e procedure di spegnimento controllato
- Supportare l’esportazione dei dati tramite USB, gli strumenti di assistenza e i gestori di servizio del dispositivo
- Supportare aggiornamenti software, conferma e procedure di rollback
- Implementare l’estrazione dei log e l’audit logging
- Gestire un’area applicativa autonoma, dalla progettazione al codice integrato, testato e documentato
- Collaborare con l’architetto software e gli ingegneri che lavorano sui componenti adiacenti
- Contribuire a un prodotto di tecnologia medica altamente regolamentato e critico per la sicurezza
Requisiti
- Solida esperienza nello sviluppo di applicazioni moderne in C++17 su Linux embedded
- Ottima conoscenza di RAII, tipi a larghezza fissa, std::atomic, multithreading e code lock-free o a capacità limitata
- Esperienza nella realizzazione di software in cui comportamento deterministico e affidabilità sono fondamentali
- Esperienza con ambienti runtime senza allocazioni o a bassa allocazione, inclusi memoria preallocata e container a capacità fissa
- Esperienza con architetture ports-and-adapters o esagonali, interfacce e dependency injection
- Solida esperienza nell’integrazione di sistemi Linux, inclusi servizi, watchdog e gestione dei guasti a livello di sistema
- Esperienza con tecnologie IPC e di serializzazione come FlatBuffers, socket di dominio Unix o named pipe
- Esperienza con CMake, test automatizzati e pipeline CI/CD
- Esperienza con la compilazione incrociata, idealmente per piattaforme aarch64
- Solida esperienza con test unitari, copertura del codice e quality gate
- Disponibilità a lavorare secondo processi formali di ingegneria, incluse revisioni tra pari, modifiche tracciabili e decisioni progettuali documentate
- Esperienza nello sviluppo di software critico per la sicurezza, mission-critical o altamente regolamentato
- Esperienza nello sviluppo di dispositivi medici o altri sistemi critici per la sicurezza (preferibile)
- Esperienza in ambienti regolamentati o nelle scienze della vita (preferibile)
- Elevata competenza nell’IA (preferibile)
- Conoscenza di IEC 62304, ISO 13485 o standard comparabili per lo sviluppo di software regolamentato (preferibile)
- Esperienza con sistemi di allarme medicali o altri sistemi di allarme e gestione dei guasti (preferibile)
- Conoscenza di IEC 60601-1-8 o di uno standard di sicurezza equivalente (preferibile)
- Esperienza con supervisori basati su macchine a stati e sistemi di gestione dei guasti (preferibile)
- Esperienza con NVIDIA Jetson, CUDA o elaborazione accelerata dalla GPU (preferibile)
- Esperienza con Yocto e board support package per Linux embedded (preferibile)
- Esperienza con systemd, sd_notify, D-Bus e journald (preferibile)
- Esperienza con OpenSSL, TensorRT o tecnologie esterne simili (preferibile)
- Esperienza nell’uso di Docker per ambienti di sviluppo (preferibile)
- Esperienza con GoogleTest, test comportamentali o Gherkin (preferibile)
- Esperienza con Python per strumenti e script di deployment (preferibile)
- Esperienza nella partecipazione ad attività di FMEA software e nell’implementazione di controlli del rischio (preferibile)
Benefit
- Datore di lavoro che garantisce pari opportunità e si impegna a creare un ambiente di lavoro inclusivo
- Sono disponibili accomodamenti ragionevoli durante tutto il processo di selezione, quando necessari