Embedded Software Engineer
Core
Develop embedded software and firmware in C/C++ for new and existing products, integrating sensors, actuators, and communication interfaces on microcontrollers and embedded Linux platforms.
Role type
Embedded Software Engineer
Builds
Embedded systems, firmware, and software for custom hardware and early prototypes
Domain
Embedded systems, robotics, and uncrewed systems
Deliverable
production ML models
Required skills
C, C++, Python, Git, embedded communication protocols (I2C, SPI, UART, CAN, Ethernet), Linux command-line, real-time concepts (tasks, interrupts, scheduling), hardware debugging
Preferred skills
Docker, STM32, ARM-based MCUs/SoCs, ESP32, PIC32, Zephyr, FreeRTOS, embedded Linux, ROS2, robotics, uncrewed systems, device drivers, networking, navigation, localization, SLAM, perception, controls, sensor fusion, hardware-in-the-loop testing
Technologies
STM32, ARM, ESP32, PIC32, Zephyr, FreeRTOS, embedded Linux, ROS2, Python, C, C++, Git, Docker
Responsibilities
Develop and debug embedded software/firmware; integrate hardware interfaces; write automated tests; participate in code reviews and design discussions; document software designs and test results
Seniority
Mid-level (1–5 years experience)
