Empo Health

Senior Embedded Software Engineer – Firmware, Embedded Linux

Empo Health

full-time

Posted on:

Location Type: Hybrid

Location: San BrunoCaliforniaUnited States

Visit company website

Explore more

AI Apply
Apply

Job Level

About the role

  • Support and improve our C++ application that controls the actions, appearance and outputs of the Empo Footprint scale. This includes the user space interface to the hardware and use of open source libraries available through Yocto and the open embedded project.
  • 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. Regression test on the app.
  • Write/maintain user-space code in C/C++ and apply strong design principles where appropriate.
  • Support manufacturing and bring-up activities as needed, including hands-on troubleshooting with lab tools.
  • Improve software observability and diagnostics (logging, metrics, traceability, version reporting).
  • Participate in code reviews and establish maintainable architecture for long-term product scalability.
  • Contribute to embedded Linux platform work.
  • 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 a minimum of 10 years of direct applicable experience
  • 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 firmware projects
  • Have strong C/C++ experience
  • Have contributed heavily to hardware products that have shipped.
  • Are comfortable developing on Linux and in embedded environments.
  • Have Yocto/OpenEmbedded (or other embedded Linux) experience.
  • Have strong knowledge of multithreading and synchronization.
  • Use Python and/or Bash scripting for automation, testing, and build processes.
  • Have board bring-up experience and are comfortable with I2C/SPI/I2S.
  • Can operate effectively in a small, fast-paced team and collaborate cross-functionally.
  • Are able to work onsite as needed in San Bruno to support hardware integration and manufacturing debugging, typically 3 days a week.
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
Applicant Tracking System Keywords

Tip: use these terms in your resume and cover letter to boost ATS matches.

Hard Skills & Tools
C++CPythonBashmultithreadingsynchronizationembedded LinuxYoctoOpenEmbeddedautomation
Soft Skills
communicationcollaborationself-starterownership mentalityteamworkproblem-solvingleadershipadaptabilityattention to detaildocumentation
Certifications
Bachelor's degreeMaster's degree