More jobs:
Software Engineer, Embedded Software Engineer
Job in
Hercules, Contra Costa County, California, 94547, USA
Listed on 2026-01-06
Listing for:
Bio-Rad Laboratories
Full Time
position Listed on 2026-01-06
Job specializations:
-
Software Development
Embedded Software Engineer, Software Engineer
Job Description & How to Apply Below
How 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.
- 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 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 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 reliability. Experience with fail-safe mechanisms, state machines for complex device control, and graceful degradation of functionality under fault conditions.
- Testing & CI/CD for Embedded: Familiarity with automated testing frameworks and continuous integration in an embedded context. Experience writing unit and integration tests for embedded code, using hardware-in-loop or simulation, and using CI tools to catch issues early.
- Collaborative Communication: Excellent cross-functional communication and teamwork skills. Ability to work closely with other engineering disciplines and to clearly articulate technical information to non-software stakeholders.
- Industry Domain: Background in laboratory equipment, clinical diagnostics, or medical device development. Familiarity with the regulatory environment and standards for medical device software (e.g. IEC 62304, ISO 13485) is a plus.
- Fieldbus Communication: Solid knowledge of industrial communication protocols. Familiarity with CAN/CANopen is a plus—including defining CANopen object dictionaries, PDO/SDO communication, and network management—or comparable experience with…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(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).
(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).
Search for further Jobs Here:
×