
Embedded Software Engineer - SoM
Harmattan AI24 days ago
Zürich, SwitzerlandSenior
Responsibilities
- Build and maintain BSP layers, device trees, reference images, custom layers, packages, and SDKs across kernel upgrades and silicon revisions.
- Own bootloader porting, signed boot, verified root filesystems, and A/B system updates.
- Develop and validate Linux kernel-space 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 design, interfaces, and integration.
- Mentor junior embedded engineers as appropriate for the role's seniority.
Requirements
- MSc in electrical engineering, computer engineering, or a related field; PhD is a plus.
- At least 5 years of embedded software experience, including lifecycle ownership of reproducible BSPs as hardware evolves.
- Strong command of embedded Linux build systems such as Yocto or OpenEmbedded, including custom layers or packages, BSP integration, image building, and SDK generation.
- Experience developing kernel-space drivers on ARM targets and validating real I2C, SPI, UART, GPIO, PCIe, and MIPI peripherals.
- Experience with device trees, board bring-up, bootloader porting, kernel configuration, signed boot, and production firmware update mechanisms.
- Strong C, C++, and Python skills, with solid Git version-control practice.
- Ability to debug drivers, kernel configuration, and board faults using GDB, JTAG, OpenOCD, kernel tracing, ftrace, and perf.
- Experience with bare-metal or RTOS firmware, embedded SoC accelerators including VPU and NPU drivers and runtimes, perception or control workloads, or UAS, drone, or defense systems is advantageous.
- Strong communication, documentation, autonomous working, and systematic debugging skills.