Jobs · Engineering · California

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

Similar jobs