Software Engineer, Embedded Software Engineer
Listed on 2025-12-07
-
Software Development
Software Engineer, Embedded Software Engineer
Join to apply for the Staff Software Engineer role at Tri-Valley Career Center
.
4 weeks ago Be among the first 25 applicants.
The role is both technical and collaborative. You will work closely with cross‑functional teams including systems engineers, mechanical designers, assay development scientists, and quality engineers to translate complex clinical diagnostic requirements into reliable software. As a Staff Software Engineer, you will also provide technical leadership: mentoring junior engineers, driving best practices in code reviews and design discussions, and leading initiatives to modernize our software stack.
You’ll have the opportunity to introduce modern engineering practices (e.g. continuous integration/continuous delivery for embedded, and advanced testing frameworks). The position is hybrid and requires some time in the lab each week. If you are passionate about building high‑quality software that has a direct impact on human health, this role offers a unique blend of hands‑on development and technical leadership.
You’ll Make An Impact
- Develop Embedded Control Software:
Design and implement the core C++ control software that drives automated lab instruments, handling everything from device initialization to high‑level coordination of subsystems to error handling. - Orchestration & Scheduling:
Develop and maintain scheduling and orchestration logic to coordinate instrument operations (e.g. sample handling, reagent dispensing, measurements) at high throughput (100+ samples/hour). Ensure timed execution of workflows across multiple embedded controllers. - Error Handling & Recovery:
Build robust error handling and fault recovery mechanisms. Anticipate error conditions (device faults, step loss, etc.) and implement recovery sequences that allow the instrument to safely continue or gracefully halt with minimal downtime. - Firmware/Hardware Integration:
Interface with distributed firmware microcontroller boards over a CANopen bus (coordinating 10+ boards). Maintain communication protocols and data models for commands/status and ensure reliable real‑time messaging between the main software and firmware subsystems. - Cross‑Functional
Collaboration:
Work closely with systems engineering to align software with hardware design, with assay scientists to understand requirements, and with quality/regulatory teams to meet compliance and documentation standards. Coordinate integration activities and troubleshooting across mechanical, electronics, and assay domains. - Technical Leadership & Mentoring:
Mentor junior and mid‑level software engineers by sharing best practices in embedded development, performing design and code reviews, and guiding problem solving. Lead architectural discussions and contribute to design documentation for new features and systems. - Lab Work:
Triaging and troubleshooting hardware/software integration issues, and providing expert technical guidance to cross‑functional teams. - Testing & Automation:
Drive improvements in software quality by expanding integration testing and simulation. Lead the development of hardware simulation frameworks and automated test suites to validate instrument behavior in CI/CD pipelines. Champion the use of continuous integration, unit testing, and other modern Dev Ops practices to increase software reliability and maintainability.
- Education &
Work Experience:
Bachelor’s or master’s degree in computer science, electrical/computer engineering, related field, or the equivalent experience. Prior experience in an embedded software engineering role designing complex instrument or device software. - Embedded C++ Expertise:
Extensive experience programming in modern C++ for embedded systems, with a minimum of five years. Strong understanding of object‑oriented design, multi‑threading, and memory management in constrained environments. - RTOS/Embedded Linux
Experience:
Hands‑on experience developing for embedded Linux (e.g., Yocto) or on real‑time operating systems (e.g., QNX). Comfortable with low‑level OS concepts, device drivers, and optimizing performance on single‑board computers. - High‑Reliability Systems:
Proven ability to design software for high uptime and…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).