Senior Embedded Software Engineer (Firmware / Embedded Linux) in San Bruno

Energy Jobline
San Bruno, United States of America
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

San Bruno, United States of America

Tech stack

Board Bringup
Bash
C++
Code Review
Computer Engineering
Software Debugging
Linux
Linux on Embedded Systems
Embedded Software
Firmware
Hardware Design
Python
Linux-Powered Devices
Open Source Technology
Software Architecture
Regression Testing
Software Engineering
Strategies of Testing
Data Logging
Multithreading
Break Fix
GIT
Yocto
Information Technology
Build Process

Job description

Energy Jobline is the largest and fastest growing global Energy Job Board and Energy Hub. We have an audience reach of over 7 million energy professionals, 400,000+ monthly advertised global energy and engineering jobs, and work with the leading energy companies worldwide.

We focus on the Oil & Gas, Renewables, Engineering, Power, and Nuclear markets as well as emerging technologies in EV, Battery, and Fusion. We are committed to ensuring that we offer the most exciting career opportunities from around the world for our jobseekers.

Job DescriptionJob Description

Founded in 2020 and based in Silicon Valley, Empo Health is a seed-funded, VC-backed, and NSF-supported startup developing revolutionary in-home health monitoring products.

Empo Health's first product, the FDA-listed Empo Footprint, is an in-home foot-imaging scale that helps doctors and patients monitor for early signs of diabetic foot ulcers. By helping them identify foot complications and risk factors before they escalate into more serious issue, Empo's product aims to assist clinicians with preventing amputations and saving lives.

As a critical member of our small, fast-paced team, you will work closely with the founders and other early team members. You should be comfortable evaluating the execution of existing processes, suggesting new processes, and collaborating across a variety of team functions.

If you're passionate about remote care and helping prevent the worst outcomes for diabetic patients, then we'd love to hear from you!

The Job

This is a full-time position with the following responsibilities:

  • 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.

Even better if you...

  • Are familiar with Linux Device Trees.
  • Are familiar with the i.MX platform
  • Have project management experience
  • Are comfortable with lab tools such as an oscilloscope, logic analyzer, and multimeter.
  • Are experienced with Git
  • Are experienced with factory production and assisting with field issues
  • Have class 1 medical-device software process familiarity

Benefits & conditions

  • 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

Apply for this position