Siamo un’azienda campana e un centro di ricerca ICT tra i più noti in Italia, che da 20 anni promuove l’innovazione tecnologica in diversi settori (Sanità, Manifatturiero, Aerospazio, Ferroviario e Smart-Cities). Realizziamo progetti di ricerca, prototipazione, sviluppo pre-competitivo e industrializzazione ad alta tecnologia (Artificial Intelligence, Machine Learning, Industry 4.0, Internet of Things, Augmented e Virtual Reality, Digital Healthcare). Il nostro punto di forza è un ambiente giovane e collaborativo che mette al centro le competenze, l’unicità e l’inclusione di ciascuna persona.
Partiamo da un’idea, la realizziamo e la immettiamo sul mercato.
In questo contesto e con un piano di crescita in forte espansione, cerchiamo EMBEDDED DEVELOPER da inserire nel dipartimento Solution Development Area.
Come Embedded Developer, sarai responsabile della progettazione, sviluppo e ottimizzazione di sistemi embedded per prodotti che richiedono elaborazione in tempo reale, interazione diretta con l'hardware e gestione efficiente delle risorse. Lavorerai a stretto contatto con ingegneri hardware, sviluppatori firmware e il team di prodotto per creare soluzioni software integrate in microcontrollori e piattaforme embedded. Il tuo lavoro avrà un impatto diretto sulle prestazioni, sulla stabilità e sull'affidabilità dei prodotti che consegniamo.
- Sviluppo di sistemi embedded: Progettare, sviluppare e implementare applicazioni software embedded per sistemi basati su microcontrollori (es. ARM, PIC, AVR, STM32).
-
Sviluppo firmware: Scrivere, fare il debug e ottimizzare firmware a basso livello per interagire con componenti hardware come sensori, attuatori, interfacce di comunicazione e periferiche.
-
Sistemi real-time: Implementare soluzioni software per sistemi in tempo reale, garantendo la riduzione della latenza e il rispetto dei vincoli temporali critici.
-
Interazione hardware-software: Sviluppare software che interagisce direttamente con i componenti hardware a livello di registro e lavorare con strumenti di debug hardware come oscilloscopi e analizzatori logici.
-
Ottimizzazione del software: Garantire che il software embedded sia efficiente in termini di utilizzo della memoria, potenza di elaborazione e consumo energetico. Ottimizzare il software per prestazioni, stabilità e vincoli di risorse.
-
Testing e debug: Sviluppare ed eseguire piani di test per i sistemi embedded, inclusi test unitari, test di integrazione e test hardware-in-the-loop (HIL). Debug e risoluzione di problemi hardware e software utilizzando strumenti come oscilloscopi, analizzatori logici e debugger.
-
Documentazione: Documentare chiaramente il processo di progettazione, sviluppo e testing, assicurandosi che il codice sia manutenibile e comprensibile per futuri sviluppatori e debugging.
-
Collaborazione: Lavorare in stretta collaborazione con team trasversali, inclusi ingegneri hardware, architetti di sistema e QA, per garantire l'integrazione e il corretto funzionamento dei sistemi embedded.
-
Aggiornamenti e manutenzione del firmware: Gestire le versioni del firmware, gli aggiornamenti e le patch, assicurandosi che i sistemi embedded in produzione continuino a funzionare in modo affidabile.
- Programmazione sistemi embedded: Conoscenza approfondita di linguaggi di programmazione Java8, C e C++ per sistemi embedded, con esperienza nella programmazione a basso livello e nell'interazione hardware-software.
-
Esperienza con microcontrollori: Esperienza nello sviluppo e programmazione di applicazioni per microcontrollori (ARM Cortex-M, AVR, PIC, STM32 o simili).
-
Sistemi real-time (RTOS): Conoscenza di sistemi operativi real-time (ad esempio FreeRTOS, embOS) e comprensione della gestione delle attività, degli interrupt e dei vincoli temporali.
-
Interazione hardware-software: Capacità di progettare software che interagisce direttamente con l'hardware a livello di registro e conoscenza degli strumenti di debug hardware come oscilloscopi e analizzatori logici.
-
Protocolli di comunicazione: Esperienza con protocolli di comunicazione come I2C, SPI, UART, CAN, Ethernet, e Modbus per interfacciarsi con sensori e dispositivi embedded.
-
Strumenti di sviluppo embedded: Esperienza con strumenti di sviluppo embedded, tra cui IDE (ad esempio Keil, IAR Embedded Workbench, Eclipse, Netbeans), compilatori, debugger e versionamento del codice (ad esempio Git).
-
Debugging a basso livello: Capacità di fare debugging a basso livello utilizzando strumenti hardware e software come JTAG, SWD, GDB e interfacce seriali.
-
Testing software e validazione: Esperienza con testing dei sistemi embedded, inclusi test unitari, test di integrazione e test hardware-in-the-loop (HIL).
-
Versionamento del codice: Conoscenza di sistemi di versionamento del codice come Git per la gestione del codice e la collaborazione.
- Attenzione ai dettagli: Elevata attenzione ai dettagli e focus sulla produzione di software di alta qualità.
-
Collaborazione in team: Ottime capacità di comunicazione e di lavoro in team multidisciplinari.
-
Adattabilità: Capacità di adattarsi rapidamente a nuove tecnologie, strumenti e sfide in un ambiente di sviluppo dinamico.
-
Apprendimento continuo: Passione per l'aggiornamento continuo e la sperimentazione con le ultime tecnologie e tendenze nei sistemi embedded.
- Conoscenza avanzata di RTOS: Esperienza con sistemi operativi real-time avanzati e sistemi multi-thread.
-
Protocolli di comunicazione wireless: Esperienza con protocolli wireless come Bluetooth, Zigbee, Wi-Fi o LoRa.
-
Sicurezza e crittografia: Conoscenza del secure boot, della crittografia e dei protocolli di comunicazione sicura per sistemi embedded.
-
Embedded Linux: Esperienza con sistemi embedded Linux, inclusi driver di dispositivo, moduli del kernel e sviluppo basato su Yocto.
-
Dispositivi IoT: Conoscenza delle piattaforme IoT e integrazione cloud, inclusi protocolli come MQTT, CoAP o simili.
-
Linguaggi di scripting: Familiarità con linguaggi di scripting come Python o Bash per l'automazione e il testing.
-
Testing automatizzato: Esperienza con framework di testing automatizzati per sistemi embedded.
Sede di lavoro: Aversa, CE - possibilità di smart working
Orario di lavoro: Full Time