Lead Embedded Systems Software Engineer
| Verified Pay check_circle | Provided by the employer$150000 - $225000 per year |
|---|---|
| Hours | Full-time |
| Location | Saratoga, California |
About this job
Job Description
We are looking for a Lead Embedded Software Engineer to own the full path from product requirements to working, tested firmware. You will translate product-level goals into system software architecture, write production code, and lead a team of embedded engineers to ship reliable, high-performance software.
This is a player-coach role. You write code every day while also guiding the team, reviewing designs, and setting technical direction. You run debuggers and whiteboards with equal ease.
Architecture and Technical Leadership
Translate product requirements into clear system-level software architecture.
Define software interfaces, data flows, and module boundaries across the stack.
Make and own key technical decisions. Document them clearly for the team.
Identify risks early and drive solutions before they become blockers.
Own firmware delivery from product requirements through production release, ensuring quality, schedule, and cross-functional alignment.
Hands-on Development
Write, review, and maintain production firmware in C/C++ (and Rust where applicable).
Develop drivers, middleware, and application logic for sensor-rich embedded platforms.
Work with Zephyr RTOS across multiple MCU families (STM32, Nordic nRF, ESP32).
Debug firmware using JTAG, SWD, logic analyzers, and oscilloscopes.
Integrate and validate sensors including IMUs, accelerometers, and gyroscopes.
Implement and optimize networking stacks - BLE, Thread, and Wi-Fi.
Design and maintain backend communication protocols for edge-to-cloud data transfer.
Test and Quality
Write automated unit and integration tests before or alongside feature code.
Build and maintain HIL (hardware-in-the-loop) & SIL (software-in-the-loop) frameworks.
Set team standards for test coverage, static analysis, and CI/CD pipelines.
Perform code reviews with a focus on correctness, safety, and long-term maintainability.
Team Leadership
Lead a small team of embedded engineers. Set clear goals. Mitigate day-to-day risks.
Mentor engineers through design reviews, pair programming, and direct feedback.
Collaborate with hardware, systems, and product teams to align on requirements.
Contribute to hiring - interview candidates and help define the team's technical bar.
Required
5+ years of embedded software development experience in production systems.
Strong C/C++ skills in resource-constrained environments (bare-metal and RTOS).
Hands-on experience with Zephyr RTOS, including West build system and CMake.
Deep knowledge of at least one MCU family: STM32, Nordic nRF, or ESP32.
Experience integrating and characterizing inertial sensors (IMU, accelerometer, etc.).
Solid understanding of wireless protocols - BLE, Thread, & WiFi - including their stacks.
Experience designing and implementing backend communications (MQTT, CoAP, HTTP/REST, or similar).
Strong skills in writing automated tests for embedded code: unit tests, mocking, HIL/SIL.
Proficiency with hardware debug tooling: JTAG, SWD, logic analyzers, and o-scopes.
Solid Git workflows: branching strategy, code review process, and CI/CD integration.
Demonstrated ability to lead a technical team while remaining a hands-on contributor.
Clear communicator. Able to explain complex technical decisions to stakeholders.
Nice to Have
Experience with Rust in embedded contexts.
Familiarity with TinyML or edge ML frameworks (TFLite Micro, Edge Impulse, ONNX Runtime).
Background in aerospace, satellite, or other safety-critical systems.
Experience with model optimization techniques such as quantization and pruning.
Contributions to open-source embedded or RTOS projects.
How We Work
• On-site, collaborative environment. We build physical hardware - presence matters.
• Small teams with high autonomy. You own your area end-to-end.
• Fast iteration cycles. We prototype, test, and revise quickly.
• Direct feedback culture. We expect candor and respect in equal measure.
We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.