Embedded Software Engineer - SoM
ParisFull-timePosted 2mo ago
About the role
Embedded Software Engineer responsible for owning the embedded software stack on compute modules, from bare board bring-up to a maintained, securely booting Linux platform, including boot chain, kernel, drivers, and verification across hardware iterations.
Responsibilities
- BSP and Reference Images: Build and maintain the BSP layer, device trees, and the reference images for each board, including custom layers and SDK generation, and carry them forward across kernel upgrades and silicon revisions.
- Boot Chain and Secure Boot: Own the boot chain, including bootloader porting, signed boot, verified rootfs, and A/B system update.
- Drivers and Low Level Interfaces: Develop and validate Linux device drivers across I2C, SPI, UART, GPIO, PCIe, and MIPI, including camera and sensor interfaces.
- Board Support on MCU Targets: Provide startup, clock, and peripheral support on the microcontrollers of boards the team designs.
- Board Bring Up and Hardware Validation: Lead software bring up on new hardware, take part in design reviews, and debug system level issues across the hardware and software boundary.
- Verification and Documentation: Define verification test plans and acceptance criteria, automate boot and peripheral test on real targets, and document each milestone.
- Cross Functional Collaboration: Work with the hardware team on new boards, and with Systems and Embedded Software Platform on interfaces and integration.
- Mentorship: Depending on seniority, mentor junior embedded engineers.
Qualifications
- MSc in engineering (electrical, computer, or a related field). PhD a plus. Hands-on bring up record matters more than the specific degree.
- 5 years minimum in embedded software, with BSPs owned through their lifecycle and kept reproducible as hardware evolved.
- Strong command of an embedded Linux build system such as Yocto or OpenEmbedded, across custom layers or packages, BSP integration, image build, and SDK generation.
- Kernel space driver development on ARM targets, validated against real peripherals across I2C, SPI, UART, GPIO, PCIe, and MIPI. Device tree work on new boards and hardware revisions. Board bring up from first power up to a booting Linux image.
- Bootloader porting, kernel configuration, signed boot, and firmware update mechanisms on production hardware, with security conscious and deterministic engineering practice.
- Strong C and C++, including kernel space coding, and strong Python scripting skills, with solid version control practice (Git).
- Debugging expertise with GDB, JTAG, OpenOCD, kernel tracing, ftrace, and perf.
- Rigorous, structured, and systematic, autonomous, excellent communication and documentation skills.
- Bare metal or RTOS firmware on microcontroller targets a plus; experience enabling hardware accelerators (VPU/NPU) on embedded SoCs; familiarity with perception/control workloads, UAS/drone/defense experience a plus.
Skills
Required:Embedded LinuxKernel space driver developmentC and C++ programmingPython scriptingDebugging toolsHardware bring-upDocumentation and communication
Last updated Aug 12, 2026. Interested? Apply on the company site.
About Harmattan AI
Building the Future of Autonomous Warfare.
Building the Future of Autonomous Warfare.
Autonomous WarfareUASPayloadCounter-UAS
More open roles at Harmattan AI
- Machine Learning Research Engineer – Visual Navigation4d agoLausanne, Zurich +1 more · R&D
- Computer Vision Engineer (VIO)4d agoParis · R&D
- RF Engineer (GNSS)4d agoLausanne · R&D
- Systems Engineer (Munitions)4d agoLausanne · R&D
- Computer Vision Engineer - Tracker4d agoZurich · R&D