Descrizione dell'offerta
L’Embedded Linux Software Engineer si occupa dello sviluppo e della personalizzazione di Kernel Linux Embedded e della realizzazione di applicativi dedicati alla diagnostica, al monitoring, al controllo hardware e a funzionalità custom per i Sistemi Edge Computing progettati e prodotti dall’Azienda.
Inserito all’interno del team software, il candidato contribuisce alla progettazione, implementazione, integrazione e testing del codice, garantendo la conformità ai requisiti di sistema.
Principali Responsabilità:
- Configura e ottimizza kernel e driver Linux per applicazioni embedded
- Sviluppa e mantiene applicativi per sistemi embedded utilizzando C/C++, script di shell
- Collabora con i team di hardware e firmware per effettuare il debug e la risoluzione di problemi su hardware embedded
- Utilizza toolchain di sviluppo embedded e tecniche di controllo di versione
- Redige la documentazione tecnica.
- Conoscenza approfondita dei sistemi operativi Linux, inclusi kernel e driver (Device Tree)
- Esperienza con sistemi di building (es. Buildroot, Yocto)
- Esperienza con toolchain di sviluppo embedded (es. GCC, GDB)
- Esperienza delle problematiche legate alla cybersecurity (Cyber Resilience ACT)
- Esperienza con protocolli di comunicazione di basso livello (es. CAN, I2C, SPI, UART)
- Esperienza con protocolli di comunicazione di rete TCP-IP
- Esperienza con interfacce di embedded computing su architettura x86, Arm, Jetson (interfacce PCIe, Sata, Ethernet, Usb)
- Esperienza nella programmazione in C/C++, script di shell, HTML, PHP
- Conoscenza delle problematiche di real-time computing e ottimizzazione delle prestazioni
- Capacità di leggere e comprendere schemi elettrici e datasheet
- Esperienza nello sviluppo di interfacce WEB/HMI
- Capacità di debug e risoluzione di problemi su sistemi embedded
- Conoscenza delle tecniche di controllo di versione (es. Git)
- Conoscenza della lingua inglese, scritta e parlata