Senior Embedded Software Engineer ( C++ / Embedded Linux)
Empo Health · San Bruno, CA · 4 mo ago
On-siteEngineeringFull-time
Responsibilities
- Serve as the primary technical owner for our linux user space C++ application, ensuring high-performance execution and a maintainable modern architecture for long-term scalability.
- Design and implement reliable, thread-safe, multithreaded software components (synchronization, concurrency mechanisms, performance).
- Collaborate closely with Electrical, Mechanical, and Test teams to integrate new hardware features and resolve integration issues.
- Contribute to debugging and resolution of field issues, including reproducing issues, instrumenting code, and delivering fixes.
- Develop and maintain automation, test, and build tooling using Python and/or Bash.
- Write/maintain user-space code in C/C++ and apply strong object-oriented design principles where appropriate.
- Support manufacturing and bring-up activities as needed.
- Improve software observability and diagnostics (logging, metrics, traceability, version reporting).
- Participate in code reviews and establish maintainable architecture for long-term product scalability.
- Collaborate on the embedded Linux platform work and Yocto build system.
- Document software architecture, interfaces, and test strategy to support a regulated medical-device environment.
- Continue use and support of our 3rd party over-the-air software updater and device monitor.
Requirements
- Have a Bachelors or Masters in Electrical Engineering, Computer Engineering, or Computer Science or a related field.
- Have 8+ years of experience in systems software development with a focus on C++ application architecture.
- Possess a strong fluency in hardware-software integration; you don't need to be an EE, but you should enjoy collaborating with them.
- Have a proven record of working as a self-starter with ownership mentality.
- Have a strong ability to work well with others.
- Possess exceptional communication skills, both written and verbal.
- Have served as the lead on similarly scoped projects.
- Have strong C/C++ experience and a deep understanding of object-oriented design.
- Have contributed heavily to hardware products that have shipped.
- Are comfortable developing on Linux and in embedded environments.
- Have strong knowledge of multithreading and synchronization.
- Use Python and/or Bash scripting for automation, testing, and build processes.
- Can operate effectively in a small, fast-paced team and collaborate cross-functionally.
Qualifications
- Are comfortable developing on Linux and in embedded environments.
- Have strong knowledge of multithreading and synchronization.
- Use Python and/or Bash scripting for automation, testing, and build processes.
- Can operate effectively in a small, fast-paced team and collaborate cross-functionally.
Skills
- Strong C/C++ experience and a deep understanding of object-oriented design.
- Familiarity with the Linux Device Tree.
- Familiarity with the i.MX platform.
- Experience with Yocto Project, OpenEmbedded, or other Linux build systems.
- Experience with lab tools such as an oscilloscope, logic analyzer, and multimeter for low-level troubleshooting.
- Project management experience.
- Experience with Git.
- Experience with factory production and assisting with field issues.
- Class 1 medical-device software process familiarity.
Benefits
- Hybrid-friendly working environment
- “Take what you need” vacation and sick leave policy
- Generous coverage for medical, dental, vision, and mental wellness plans
- 401(k) retirement plan with 4% match (after employment for 6 months)
- 12 week parental leave + part-time transition period at full pay (after employment for 12 months)
- Equity incentive options for early full-time employees
Pay
- Competitive salary commensurate with experience
Schedule
- Full-time