Role: Staff Software Engineer - Embedded Sensing
Location: San Francisco, CA
Duration: Full-Time (Direct Hire)
Overview: We are seeking an experienced Staff Software Engineer to lead the design and development of next‑generation sensing technologies and embedded software systems. This role involves developing integrated solutions across embedded firmware, hardware interfaces, edge computing, and cloud‑based data pipelines. The ideal candidate will have strong expertise in embedded systems, firmware development, RTOS, hardware/software integration, and real‑time systems. The engineer will drive technical architecture, develop reliable firmware, and build automated Hardware‑in‑the‑Loop (HIL) testing solutions for production‑grade sensing devices.
Key Responsibilities:
- Lead the architecture, design, and development of embedded firmware for next‑generation sensing devices.
- Develop reliable and fault‑tolerant firmware using C, C++, Rust, and Python.
- Design and maintain Hardware‑in‑the‑Loop (HIL) automation platforms for development, testing, and system validation.
- Collaborate with hardware engineering teams on board‑level bring‑up, hardware validation, debugging, and production readiness.
- Develop Board Support Packages (BSPs), device drivers, and peripheral communication interfaces.
- Design deterministic, timing‑sensitive embedded systems and optimize processor utilization, power management, and communication protocols.
- Apply signal processing, sensor data analysis, and machine learning techniques to develop on‑device algorithms.
- Integrate embedded sensing systems with cloud‑based data pipelines and backend services.
- Drive technical architecture, engineering standards, system reliability, and cross‑functional collaboration while mentoring engineers.
Required Qualifications:
- Bachelor's, Master's, or PhD in Computer Science, Electrical Engineering, Computer Engineering, or a related field.
- Extensive experience in embedded software engineering, firmware development, or embedded systems engineering.
- Strong programming proficiency in C, C++, Rust, or Python, with practical embedded development experience.
- Hands‑on experience with RTOS platforms such as Zephyr or FreeRTOS.
- Experience with Embedded Linux platforms such as Yocto or Buildroot.
- Strong understanding of digital electronics, microcontrollers, embedded processors, BSPs, device drivers, and hardware/software integration.
- Hands‑on experience with board‑level bring‑up, hardware debugging, and validation using oscilloscopes, logic analyzers, and diagnostic tools.
- Strong knowledge of peripheral communication protocols, including SPI, I2C, UART, and interrupt‑driven design.
- Experience developing deterministic, real‑time firmware, with an understanding of power management, fault tolerance, and embedded‑to‑cloud integration.
Preferred Qualifications:
- Experience in digital signal processing, sensor fusion, or applied machine learning.
- Experience developing algorithms for edge devices and real‑time sensing applications.
- Experience building automated hardware testing, simulation, and HIL verification environments.
- Background in healthcare technology, GIS, location intelligence, or safety‑critical and high‑availability systems.
- Familiarity with distributed systems, event‑driven architectures, APIs, cloud platforms, DevOps, SRE, or modern full‑stack development.