Senior Embedded Software Engineer
Location: San Francisco, CA (In-person)
Role SummaryAs an Embedded Software Engineer at Omen, you will help plan and build the software that runs on our current and future products. You will be developing for our custom embedded sensors, implementing peripheral drivers, local data management, and connectivity to reliably get the data home. You'll also work closely with our hardware, R&D, and software teams in realizing our next generation of sensors, providing a technical voice in how our embedded platform evolves.
If you want to own a fascinating hardware problem from the ground up and build something that protects the most expensive infrastructure on the planet, we want to talk to you.
ResponsibilitiesDrive the Embedded Platform
- Plan and design the embedded software system for current and next-generation Omen sensors.
- Define interfaces between firmware, on-device data processing, and our cloud platform.
Build Drivers and Firmware
- Develop and maintain peripheral drivers (e.g. SPI, I2C, UART, ADCs, detector interfaces, pumps, valves, and high-voltage control).
- Write production C/C++ for real-time control and data acquisition.
- Bring up new hardware alongside the electrical team, debugging at the board level when needed.
Engineer for Reliability
- Lead reliability analysis for embedded systems: failure modes and effects analysis (FMEA), watchdog and recovery strategies, and power-loss resilience.
- Build automated and hardware-in-the-loop (HITL) tests so every release is proven before it reaches a customer site.
- Investigate field failures to root cause and feed the lessons back into design.
- Help maintain a fail-safe OTA pipeline for a growing fleet of field devices.
Provide Technical Direction
- Set coding standards, review code, and guide technical decisions across the embedded stack.
- Act as the bridge between hardware and software teams, translating constraints in both directions and writing clear design docs.
QualificationsMinimum Qualifications
- Experience developing embedded software for shipped hardware products, or equivalent hands-on experience.
- Strong proficiency with C and C++ for resource-constrained, real-time systems.
- Strong proficiency in Python for on-device Linux services, tooling, test automation, and data analysis.
- Hands-on experience with an RTOS and with embedded Linux.
- Experience writing peripheral drivers from datasheets, and debugging with oscilloscopes, logic analyzers, and JTAG/SWD.
- Proven ability to communicate clearly across hardware and software teams, including written design docs and technical reviews.
Preferred Qualifications
- Experience providing technical direction or leading architecture on an embedded team.
- Embedded Linux build systems (Yocto or Buildroot) and bootloaders (U-Boot, MCUboot).
- Experience designing or maintaining OTA update systems for field devices.
- Embedded security: secure boot, signed firmware, and key management.
- Industrial or datacenter protocols and connectivity, such as Modbus, CAN, IO-Link, MQTT, or cellular.
- Firmware for scientific instruments, sensors, or high-speed data acquisition.
- Formal reliability methods and hardware-in-the-loop test infrastructure and CI for firmware.
- Prior early-stage startup experience.
Benefits- Pay: 160-190k base + equity
- 100% medical, dental & vision coverage (for you)
- Flexible PTO
- Free food & snacks
- Daily in-office lunch provided
Don't meet every bullet but excited about what we're doing? Apply anyway. Many excellent candidates don't tick every box, and we are looking for team players with undeniable talent.