Firmware / Embedded Software Engineer – Linux Embedded, C/C++, Qt (M/F)
Chi siamo
TME Group è un gruppo industriale in forte espansione che opera nel design, nel testing e nel manufacturing di prodotti e schede elettroniche. Ci occupiamo di Test Solutions, PCBA Production ed Electromechanical Assembly, e seguiamo il prodotto dalla progettazione fino alla produzione e al collaudo. Con tre sedi produttive in Italia e tre centri di Customer Service & Support negli Stati Uniti, in Cina e in Thailandia, TME Group è presente nelle principali aree strategiche dell’elettronica mondiale: Europa, Nord America e Asia.
Il ruolo
Cerchiamo un/una Firmware / Embedded Software Engineer da inserire nel team di sviluppo firmware/embedded. La persona si occuperà di progettare, implementare e manutenere il software di sistema per piattaforme Linux embedded basate su SOM Variscite (famiglia NXP i.MX). Seguirà l’intero ciclo di sviluppo: dalla customizzazione del BSP alla scrittura dei driver kernel, fino all’applicativo in C++ con interfaccia grafica Qt.
Requisiti
- Almeno 3 anni di esperienza nello sviluppo firmware/embedded su Linux. Per il profilo senior: 5+ anni, con almeno un progetto completo su SOM/SBC Linux embedded
- Laurea triennale o magistrale in Ingegneria Elettronica, Informatica o equivalente; in alternativa, diploma tecnico a indirizzo elettronico/informatico con significativa esperienza sul campo
- Linguaggi: C++ moderno (C++11/14/17: gestione della memoria, RAII, template, STL), C per kernel e driver, Python e Bash per scripting, automazione di build e test
- Linux embedded: architettura del kernel (scheduler, VM, interrupt handling), cross-compilazione e toolchain (GCC/Clang, Buildroot, Yocto), Device Tree (DTS/DTSI), U-Boot (configurazione, porting, boot script), filesystem embedded (UBIFS, JFFS2, ext4, overlayfs), systemd
- Sviluppo driver Linux: Loadable Kernel Module, driver per I²C, SPI, UART, CAN, USB, GPIO, DMA e gestione degli interrupt, interfacce userspace (sysfs, ioctl, udev rules), debug kernel (KGDB, ftrace, perf, dmesg)
- SOM Variscite / NXP i.MX: moduli DART/VAR-SOM su i.MX8/i.MX6, porting e customizzazione BSP, configurazione pinmux (iomuxc) via Device Tree, integrazione di periferiche custom su carrier board, Yocto / NXP MCUXpresso
- Framework Qt5/Qt6: signals & slots, event loop, QObject; QML/QtQuick/QtQuickControls per GUI embedded; integrazione con display stack (eglfs, Wayland/Weston); Qt SerialPort, Qt D-Bus, Qt Networking; cross-compilazione per target ARM; Qt Creator, Qt Profiler, Valgrind
- Protocolli: CAN/CANopen, Modbus RTU/TCP, RS-485, Ethernet embedded, socket TCP/IP, MQTT, gRPC, USB OTG; conoscenza base di PCIe
- Build system e tooling: CMake (toolchain file per cross-compilazione), Make, Yocto/BitBake (layer, recipe personalizzate, SDK), Docker per ambienti di build riproducibili
- Versionamento e CI/CD: Git avanzato (branching, rebase, submodule), GitLab CI / GitHub Actions, gestione delle dipendenze con Conan o vcpkg
- Inglese tecnico, per leggere documentazione, datasheet e RFC
Costituiscono titolo preferenziale
- Test e qualità del codice: unit test (Google Test, Catch2), test Hardware-in-the-Loop (HIL), analisi statica (cppcheck, clang-tidy,
SonarQube), memory analysis (Valgrind, AddressSanitizer)
- Hardware e debug: lettura di schemi elettronici e datasheet, uso di oscilloscopio e analizzatore logico, debug via JTAG/SWD, conoscenza base di secure boot e firma del firmware
- Esperienza nei settori Difesa/Aerospazio, Industriale, Medicale, Automotive
- Certificazioni: Linux Foundation Certified Engineer, Qt Certification, Yocto Project Developer
Competenze trasversali
- Capacità di redigere documentazione tecnica (specifiche, note applicative, procedure di test)
- Attitudine al problem solving su sistemi a risorse limitate
- Capacità di collaborare in team multidisciplinari (HW, SW, test, system)
- Familiarità con metodologie Agile/SCRUM in ambito embedded
Cosa offriamo
- Inserimento in un team che segue l’intero ciclo di sviluppo, dal BSP all’applicativo
- Un contesto industriale in cui il software lavora a stretto contatto con hardware, test e produzione
- Inquadramento e retribuzione commisurati all’esperienza maturata, da definire in sede di colloquio
Come candidarsi
Inviare la candidatura tramite Indeed allegando il CV aggiornato. In alternativa, inviare il CV a:
- (email hidden)
- (email hidden)
indicando nell’oggetto il titolo della posizione.
La ricerca è rivolta a candidati di entrambi i sessi (L. 903/77 e D.Lgs. 198/2006), di tutte le età e nazionalità (D.Lgs. 215/03 e 216/03). I dati personali saranno trattati ai sensi del Regolamento UE 2016/679 (GDPR).
Retribuzione: €30.000,00 - €50.000,00 all'anno
Benefit:
- Assicurazione sanitaria
- Buoni pasto
- Cellulare aziendale
- Computer aziendale
- Parcheggio libero
- Supporto allo crescita professionale
Sede di lavoro: In presenza
TME Group è un gruppo industriale in forte espansione che opera nel design, nel testing e nel manufacturing di prodotti e schede elettroniche. Ci occupiamo di Test Solutions, PCBA Production ed Electromechanical Assembly, e seguiamo il prodotto dalla progettazione fino alla produzione e al collaudo. Con tre sedi produttive in Italia e tre centri di Customer Service & Support negli Stati Uniti, in Cina e in Thailandia, TME Group è presente nelle principali aree strategiche dell’elettronica mondiale: Europa, Nord America e Asia.
Il ruolo
Cerchiamo un/una Firmware / Embedded Software Engineer da inserire nel team di sviluppo firmware/embedded. La persona si occuperà di progettare, implementare e manutenere il software di sistema per piattaforme Linux embedded basate su SOM Variscite (famiglia NXP i.MX). Seguirà l’intero ciclo di sviluppo: dalla customizzazione del BSP alla scrittura dei driver kernel, fino all’applicativo in C++ con interfaccia grafica Qt.
Requisiti
- Almeno 3 anni di esperienza nello sviluppo firmware/embedded su Linux. Per il profilo senior: 5+ anni, con almeno un progetto completo su SOM/SBC Linux embedded
- Laurea triennale o magistrale in Ingegneria Elettronica, Informatica o equivalente; in alternativa, diploma tecnico a indirizzo elettronico/informatico con significativa esperienza sul campo
- Linguaggi: C++ moderno (C++11/14/17: gestione della memoria, RAII, template, STL), C per kernel e driver, Python e Bash per scripting, automazione di build e test
- Linux embedded: architettura del kernel (scheduler, VM, interrupt handling), cross-compilazione e toolchain (GCC/Clang, Buildroot, Yocto), Device Tree (DTS/DTSI), U-Boot (configurazione, porting, boot script), filesystem embedded (UBIFS, JFFS2, ext4, overlayfs), systemd
- Sviluppo driver Linux: Loadable Kernel Module, driver per I²C, SPI, UART, CAN, USB, GPIO, DMA e gestione degli interrupt, interfacce userspace (sysfs, ioctl, udev rules), debug kernel (KGDB, ftrace, perf, dmesg)
- SOM Variscite / NXP i.MX: moduli DART/VAR-SOM su i.MX8/i.MX6, porting e customizzazione BSP, configurazione pinmux (iomuxc) via Device Tree, integrazione di periferiche custom su carrier board, Yocto / NXP MCUXpresso
- Framework Qt5/Qt6: signals & slots, event loop, QObject; QML/QtQuick/QtQuickControls per GUI embedded; integrazione con display stack (eglfs, Wayland/Weston); Qt SerialPort, Qt D-Bus, Qt Networking; cross-compilazione per target ARM; Qt Creator, Qt Profiler, Valgrind
- Protocolli: CAN/CANopen, Modbus RTU/TCP, RS-485, Ethernet embedded, socket TCP/IP, MQTT, gRPC, USB OTG; conoscenza base di PCIe
- Build system e tooling: CMake (toolchain file per cross-compilazione), Make, Yocto/BitBake (layer, recipe personalizzate, SDK), Docker per ambienti di build riproducibili
- Versionamento e CI/CD: Git avanzato (branching, rebase, submodule), GitLab CI / GitHub Actions, gestione delle dipendenze con Conan o vcpkg
- Inglese tecnico, per leggere documentazione, datasheet e RFC
Costituiscono titolo preferenziale
- Test e qualità del codice: unit test (Google Test, Catch2), test Hardware-in-the-Loop (HIL), analisi statica (cppcheck, clang-tidy,
SonarQube), memory analysis (Valgrind, AddressSanitizer)
- Hardware e debug: lettura di schemi elettronici e datasheet, uso di oscilloscopio e analizzatore logico, debug via JTAG/SWD, conoscenza base di secure boot e firma del firmware
- Esperienza nei settori Difesa/Aerospazio, Industriale, Medicale, Automotive
- Certificazioni: Linux Foundation Certified Engineer, Qt Certification, Yocto Project Developer
Competenze trasversali
- Capacità di redigere documentazione tecnica (specifiche, note applicative, procedure di test)
- Attitudine al problem solving su sistemi a risorse limitate
- Capacità di collaborare in team multidisciplinari (HW, SW, test, system)
- Familiarità con metodologie Agile/SCRUM in ambito embedded
Cosa offriamo
- Inserimento in un team che segue l’intero ciclo di sviluppo, dal BSP all’applicativo
- Un contesto industriale in cui il software lavora a stretto contatto con hardware, test e produzione
- Inquadramento e retribuzione commisurati all’esperienza maturata, da definire in sede di colloquio
Come candidarsi
Inviare la candidatura tramite Indeed allegando il CV aggiornato. In alternativa, inviare il CV a:
- (email hidden)
- (email hidden)
indicando nell’oggetto il titolo della posizione.
La ricerca è rivolta a candidati di entrambi i sessi (L. 903/77 e D.Lgs. 198/2006), di tutte le età e nazionalità (D.Lgs. 215/03 e 216/03). I dati personali saranno trattati ai sensi del Regolamento UE 2016/679 (GDPR).
Retribuzione: €30.000,00 - €50.000,00 all'anno
Benefit:
- Assicurazione sanitaria
- Buoni pasto
- Cellulare aziendale
- Computer aziendale
- Parcheggio libero
- Supporto allo crescita professionale
Sede di lavoro: In presenza