
Embedded Software Engineer - SoM
Harmattan AI24 days ago
Paris, FranceSenior
Responsibilities
- Build and maintain BSP layers, device trees, reference images, custom layers, packages, and SDK generation across kernel upgrades and silicon revisions.
- Own bootloader porting, signed boot, verified root filesystems, and A/B system updates.
- Develop and validate Linux device drivers and low-level interfaces for I2C, SPI, UART, GPIO, PCIe, MIPI, cameras, and sensors.
- Provide startup, clock, and peripheral support for microcontroller targets.
- Lead software bring-up on new hardware from first power-up through a booting Linux image and debug hardware-software boundary issues.
- Define verification plans and acceptance criteria, automate boot and peripheral testing on real targets, and document milestones.
- Collaborate with hardware, systems, and embedded software platform teams on board interfaces and integration.
- Mentor junior embedded engineers depending on seniority.
Requirements
- MSc in electrical engineering, computer engineering, or a related field; PhD is a plus, and a strong hands-on bring-up record is valued over a specific degree.
- At least 5 years of embedded software experience owning BSPs through their lifecycle as hardware evolves.
- Strong command of Yocto or OpenEmbedded, including custom layers or packages, BSP integration, image builds, and SDK generation.
- Experience with kernel-space driver development on ARM targets, device trees, real peripherals, and board bring-up.
- Experience with bootloader porting, kernel configuration, signed boot, and firmware update mechanisms on production hardware.
- Strong C and C++ programming, kernel-space coding, Python scripting, and Git version control.
- Debugging experience with GDB, JTAG, OpenOCD, kernel tracing, ftrace, and perf.
- Bare-metal or RTOS firmware experience, embedded SoC accelerator enablement including VPU and NPU drivers and runtimes, and familiarity with perception or control workloads are advantages.
- UAS, drone, or defense experience is a strong advantage.
- Ability to work autonomously with rigorous documentation, communication, and systematic hardware-software debugging.