Firmware / Embedded Software Engineer – Linux Embedded, C/C++, Qt (M/F)

Pubblicato il 30-10-2026 · TME Group - Electronic · Portico di Caserta

?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).
Max. 8 MB. Formati Accettati: PDF, RTF, DOC, DOCX, ODT.