Siamo alla ricerca di una figura di
Embedded Software Developer
da inserire in un contesto dinamico, innovativo e altamente collaborativo. La risorsa sarà coinvolta nell’intero ciclo di vita dei progetti, dall’analisi dei requisiti tecnici e funzionali, allo sviluppo e test, fino alla messa in produzione delle soluzioni embedded.
Responsabilità principali
-
Analizzare i requisiti tecnici e funzionali.
-
Progettare, sviluppare e mantenere firmware per sistemi a microcontrollore.
-
Gestire attività di test, debug e ottimizzazione del codice, anche in prossimità dell’hardware.
-
Interagire con periferiche hardware e strumenti di laboratorio per la verifica e l’ottimizzazione delle prestazioni.
-
Collaborare alla redazione e al mantenimento della documentazione tecnica dei progetti.
-
Partecipare all’evoluzione continua delle soluzioni embedded attraverso l’adozione di nuove tecnologie e metodologie di sviluppo.
Competenze tecniche richieste
Fondamenti di Programmazione Embedded
-
Conoscenza di programmazione in C/C++ per sistemi a microcontrollore.
-
Esperienza, anche universitaria o personale, con schede di sviluppo (es. STM32, Microchip, AVR).
-
Familiarità con registri, periferiche, concetti di driver hardware.
Interfacce di Comunicazione
-
Conoscenza teorica e/o pratica di protocolli di comunicazione come UART, SPI, I2C.
-
Capacità di lettura e comprensione dei datasheet per l’integrazione di periferiche.
Sistemi Operativi Real-Time (RTOS)
-
Conoscenze base di real-time scheduling, gestione di task/thread, sincronizzazione (es. semafori, mutex).
-
Esperienza con FreeRTOS, VxWorks o altri RTOS, anche in ambito accademico (preferenziale).
-
Solida esperienza nello sviluppo e manutenzione di software con vincoli temporali stringenti.
Interazione con l’hardware
-
Capacità di lavorare vicino all’hardware per debug, ottimizzazione delle prestazioni e gestione di periferiche.
-
Familiarità con strumentazione di laboratorio (oscilloscopi, analizzatori logici, multimetri, etc.).
Strumenti di Sviluppo
-
Esperienza con ambienti di sviluppo integrati (IDE) come STM32CubeIDE, Keil, MPLAB X.
-
Utilizzo di strumenti di debug: step-by-step, breakpoint, printf debugging.
Controllo Versione
-
Conoscenza e utilizzo base di Git per la gestione del codice sorgente e la collaborazione in team.
Metodologie
-
Familiarità con pratiche Agile e DevOps.
-
Esperienza in processi di Continuous Integration/Continuous Deployment (CI/CD) per ambienti embedded.
Competenze trasversali
-
Passione per l’elettronica e per lo sviluppo embedded.
-
Buone capacità analitiche e di problem solving.
-
Predisposizione al lavoro in team e alla documentazione tecnica.
-
Disponibilità all’apprendimento continuo e alla sperimentazione di tecnologie sia RTOS che bare-metal.
Formazione
-
Laurea triennale o magistrale in Ingegneria Elettronica, Informatica, dell’Automazione, delle Telecomunicazioni o discipline affini.
Cosa offriamo
-
Percorsi di carriera personalizzati in un’azienda in forte espansione e costantemente orientata all’innovazione.
-
Formazione continua, sia trasversale che specialistica, costruita in base a capacità, attitudini e interessi individuali.
-
Corporate Benefits: assicurazione sanitaria, piano welfare, Ticket Restaurant e convenzioni aziendali.
-
Attività di team building per promuovere un ambiente di lavoro positivo, coeso e collaborativo.
Posizione aperta a candidati senza distinzione di genere, ai sensi del D.Lgs. 198/2006. L'azienda promuove le pari opportunità e valorizza la diversità in tutte le sue forme.