Staff Software Engineer: Embedded Device Software

SPAN10 months ago
San Francisco, CA, United States
On-site
Full-time
Junior Level (1-3 years)

Job Description

Position Overview

SPAN is enabling electrification for all. We are a mission-driven company designing, building, and deploying products that electrify the built environment, reduce carbon emissions, and slow the effects of climate change. At SPAN, we believe in enabling homes and vehicles powered by clean energy, making electrification upgrades possible, building more resilient homes with reliable backup, and designing a flexible, distributed electrical grid.

The Device Software team is responsible for all the embedded software in our hardware products, including our flagship SPAN Panel. As an engineer on the Device Software team, you will define and implement new features for SPAN’s hardware products, focusing on microcontroller firmware ranging from bootloaders on systems without an OS to applications running under an RTOS. You will work independently and collaboratively with software, product, and hardware teams to deliver high-impact, user-facing features.

Representative projects include designing OTA systems that support diverse communication interfaces and processor types, developing secure hardware-backed encryption and verification methods, inventing robust data streaming architectures with system architects, and championing best engineering practices during code and design reviews.

Key Responsibilities

  • Define and implement firmware features for microcontrollers used in SPAN’s hardware products.
  • Design and develop OTA systems and data streaming architectures in collaboration with system architects.
  • Participate in code and design reviews, author technical documents, and promote best engineering practices across the organization.
  • Take ownership of large, user-facing features from conception through full implementation.

Required Qualifications

  • 7 or more years of experience writing software for hardware devices (on a microcontroller and/or in Linux) in C or C++.
  • Strong fundamentals in modern software design, including object-oriented design and proficient management of manual memory.
  • Experience with standard electrical communication interfaces such as UART, I2C, and USB.
  • Exceptional interpersonal communication and collaboration skills with a proven track record of taking project ownership and mentoring peers.

Preferred Qualifications

  • Experience with the STM32 microcontroller family.
  • Familiarity with functional safety standards and processes such as UL 60730, ISO 26262, IEC 61508, and UL 1998.
  • Background in developing higher level system or application software, including diagnostic command line tools or communication interfaces.
  • Knowledge of wireless technologies including WiFi, Bluetooth, and Zigbee.
  • Hands-on experience with electronics lab equipment and working in multidisciplinary environments focused on clean energy hardware.

Benefits & Perks

  • Compensation: Competitive compensation + equity grants at a well-funded, venture-backed company.
  • Benefits: Comprehensive benefits with 100% employee premiums for base plans on medical, dental, and vision, plus parental leave up to 24 weeks based on eligibility.
  • Location: Comfortable, sunny office space located near BART and Caltrain public transit.
  • Schedule: Flexible hours and flexible time off.
  • Strong focus on team building and company culture through Employee Resource Groups, monthly social events, SPANcakes recognition breakfast, and lunch & learns.

Required Skills

UART
Embedded Systems
Firmware Development
C++
Bootloader Design
Object-Oriented Design
I2C
C
RTOS
USB