Cerchiamo un Embedded DevOps Engineer
Cerchiamo una risorsa con i seguenti requisiti professionali, con particolare esperienza nell'ambito della build automation, CI/CD, software tooling e delle pratiche di sviluppo embedded.
La figura avrà il compito di supportare le attività di sviluppo, integrazione e rilascio di prodotti software embedded, contribuendo all'ottimizzazione dei processi di build, all'automazione dei workflow e al miglioramento continuo della qualità del software.
Attività e responsabilità (Scope of Work)
- Progettazione, implementazione e manutenzione di CI/CD pipelines per progetti software embedded.
- Gestione e ottimizzazione di build systems, toolchains e workflow automatizzati.
- Sviluppo e manutenzione di script di automazione utilizzando Python e Shell scripting.
- Supporto alle attività di software integration, risoluzione dei problemi relativi alle build e gestione dei rilasci.
- Manutenzione e miglioramento continuo dell'infrastruttura di build basata su Jenkins.
- Gestione del software packaging, dei processi di release e della relativa documentazione tecnica.
- Miglioramento delle pratiche di qualità del software, testing e deployment, in collaborazione con i team di sviluppo.
- Supporto alla gestione della configurazione software (Software Configuration Management) e alla definizione delle strategie di version control.
Requisiti obbligatori (Mandatory Requirements)
- Esperienza comprovata nell'ambito della software build automation e degli ambienti CI/CD.
- Ottima conoscenza di Jenkins e dello sviluppo di pipeline tramite Groovy.
- Esperienza nella scrittura di script utilizzando Python e Bash/Shell.
- Esperienza con CMake e Conan 2 per la gestione delle build e delle dipendenze software.
- Conoscenza di C++ (C++11 o versioni successive) e dei principi della programmazione a oggetti (Object-Oriented Programming), necessaria a fini diagnostici.
- Conoscenza di Git e dei principali workflow di sviluppo collaborativo.
- Esperienza nella creazione e manutenzione di custom Yocto layers, recipes e integrazioni BSP (Board Support Package).
- Familiarità con la personalizzazione di distribuzioni Linux, la gestione dei pacchetti software (Package Management) e la generazione del Root Filesystem.
- Familiarità con ambienti di cross-compilation e toolchain per sistemi embedded.
- Comprensione del Software Development Lifecycle (SDLC) e delle pratiche DevOps.
- Esperienza con strumenti di issue tracking e source code management, quali Jira, Bitbucket, GitHub o soluzioni equivalenti.
- Ottime capacità di troubleshooting e problem solving.
- Buone capacità comunicative e attitudine al lavoro in team.
Requisiti preferenziali (Preferred Qualifications)
- Esperienza in ambienti Embedded Linux.
- Esperienza con framework di unit testing e sistemi di test automation.
- Esperienza nella gestione dei rilasci (Release Management) e nei processi di distribuzione del software (Software Delivery).
- Conoscenza delle tecnologie di containerizzazione, in particolare Docker.
- Esperienza di lavoro in contesti Agile.
La conoscenza della lingua italiana è fondamentale