Embedded Software Engineer II
As an Embedded Software Engineer II, you will own specific components of our embedded stack, working close to the hardware on the real-time firmware that our safety devices depend on. Most of your time will be spent in RTOS environments (Zephyr and FreeRTOS) and on bare-metal targets, architecting safety-critical systems where reliability is a hard requirement. You will also work with our Embedded Linux platforms where the two worlds meet, so you will be comfortable moving between constrained real-time targets and richer application environments.
What You'll Do
Build the Core: Design and implement robust C/C++ firmware for safety-critical embedded devices.
Real-Time Architecture: Architect and implement RTOS-based firmware on Zephyr and FreeRTOS, including task and scheduling design, ISR handling, inter-task communication, memory and stack budgeting, and deterministic timing analysis.
Bare-Metal and Drivers: Write low-level peripheral drivers and board support code, and bring up new silicon from reset vector through to a running application.
Platform Integration: Interface RTOS devices with our Embedded Linux user-space applications, ensuring reliable communication and consistent behavior across the product.
Pipeline & Quality: Maintain and improve CI/CD pipelines (GitLab) to automate testing, including on-target and hardware-in-the-loop test execution.
Hardware Integration: Bring up new hardware, debug complex issues using JTAG/GDB, and optimize for latency, power, and memory footprint.
Safety Compliance: Collaborate with the safety team to ensure code adheres to rigorous standards (IEC 61508) while maintaining development velocity.
What You Bring
Experience: 3-5 years of hands-on embedded software development, with a substantial portion on RTOS or bare-metal targets.
Core Languages: Strong proficiency in C, along with working proficiency in C++.
RTOS Knowledge: Solid production experience with an RTOS such as Zephyr, FreeRTOS, ThreadX, or similar, including scheduling, synchronization primitives, and interrupt-driven design.
Microcontroller Fluency: Comfort working directly with MCU peripherals, datasheets, reference manuals, linker scripts, and startup code.
Linux Exposure: Familiarity with Embedded Linux user-space development, sufficient to integrate and debug across the RTOS and Linux boundary.
Connectivity: Familiarity with IP networking protocols and standard interfaces (UART, SPI, I2C, USB, CAN).
Tooling: Experience with Python for scripting/automation and familiarity with CI/CD workflows.
Debugging: Comfort using oscilloscopes, logic analyzers, JTAG, and GDB to troubleshoot hard-to-find bugs.
Education: B.S. in Computer Engineering, Electrical Engineering, Computer Science, or equivalent experience.
Bonus Points
Experience with Zephyr specifically, including devicetree, Kconfig, and west-based workflows.
Experience with wireless stacks (BLE, ISM, Wi-Fi) on constrained devices.
Background in Functional Safety (FuSa) or working in regulated industries (Medical, Automotive, Aerospace).
Low-level Linux knowledge of Board Support Packages (BSP) and device drivers.
Familiarity with static analysis, MISRA C, or other coding standards used in safety-critical development.
Base Compensation can range from $125,000 to $150,000 based on experience & location.