Firmware / Embedded Software Engineer – Linux Embedded, C/C++, Qt (M/F)
?Chi siamo
TME Group è un gruppo industriale in resistente 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 LinkedIn 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).
TME Group è un gruppo industriale in resistente 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 LinkedIn 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).