Device Software Engineer

  • San Francisco, CA, USA
  • Aug 26, 2021
Engineering: Software

Job Description

Our Mission  

At Span, we are building products that enable the rapid adoption of renewable energy like home solar, batteries, and electric vehicles. The Span Smart Panel replaces the standard electrical panel to become the center for connected power in the home, providing revolutionary insights and home energy controls through the Span mobile app. 

Span has been named one of the best home innovations in 2020 by Fast Company and one of the Forbes Top 20 IoT Startups to Watch, in addition to receiving multiple awards from the US Department of Energy and National Renewable Energy Laboratory.

The Team

Our Device Software team is responsible for the all the software that physically runs on the hardware of our product. The Span Panel contains a complex network of microcontrollers and a single board computer that must work together to react quickly to changing conditions with impeccable reliability to perform its job. The Device Software team is responsible for writing software for everything from 8 bit microcontrollers through embedded Linux, sometimes extending out of the device to the cloud connections the device speaks to.

The Role

As an engineer on the Device Software Team you will collaborate with product owners and partner engineering teams to define and implement new features directly related to the hardware element of our product. The team is small so you will own large user-facing features from conception through implementation, working independently to bring them to completion.


In this role you will do a combination of:

  • Working across hardware and software boundaries on complex multiprocessor systems

  • Writing firmware for microcontrollers both on bare metal and for an RTOS (FreeRTOS) environments

  • Writing system software on embedded Linux

  • Working with product owners to specify, estimate, break down, and author new features

  • Collaborating with our Electrical Engineers to specify, bring up and troubleshoot new PCBAs

As we are a startup, this list is neither exhaustive nor complete. We are excited for people to explore responsibilities outside their areas of expertise if the need or interest arises.

Representative Projects

  • Enabling a dormant sensor in our device to capture new sensor data

  • Supporting integration of a new solar inverter or home IoT device with our device

  • Exposing time critical metrics from our hardware to let us make better business decisions

  • Building platform infrastructure to allow other software teams to write device software safely and easily

About You

Required Qualifications

We are seeking a Firmware/Embedded Linux engineer with:

  • Familiarity with CS fundamentals

  • Experience with modern software development processes like unit testing, continuous integration, and version control

  • Experience writing software for a hardware device (in Linux, on a microcontroller, etc)

  • A desire to consider how their work fits into the larger puzzle of the Span product and business

Bonus Qualifications
  • Experience with safety processes/standards like ISO-26262 and UL1998

  • Exposure to Rust (the programming language)

  • Experience writing C, especially memory management and pointers

  • Exposure to real time operating systems (especially FreeRTOS) or systems programming in general

  • Wireless technologies like WiFi, Bluetooth and Zigbee

  • Experience with electronics lab equipment

  • Familiarity with a higher level language like Python/C++/Java/Rust/etc and Object Oriented design


Life at Span

Span is a startup based in the SOMA neighborhood of San Francisco. We are a small, diverse team of creative thinkers. We value open communication, teamwork, and a make-it-happen attitude - no job is too big or too small. We strive to make change by imagining what the future could be and building a product to complete that vision. We are looking to grow our team with talented people who are on the same mission to shape the future of energy.

Working at Span, you can expect:

  • Competitive compensation at a well-funded, venture-backed company
  • Comprehensive benefits including a choice of medical plans; dental, vision, life and disability insurance
  • A sunny, airy office located close to BART and Caltrain public transit
  • Regular team lunches, brown bag learning opportunities, board games nights, and other opportunities to connect with teammates - in-person and now virtually
  • Equity grants at a quickly-growing startup
  • Flexible hours and vacation time - we simultaneously work hard and make space for the important stuff
  • To be a part of a team and culture that is hard-working, has a good sense of humor, values collaboration, and is just a little bit nerdy 

Span embraces diversity and equal opportunity in a serious way. We are committed to building a team that represents a variety of backgrounds, perspectives, and skills. The more inclusive we are, the better our work will be.


Organization Type




Want us to tweet your job? Please write your organization's twitter username below (just the username, please do not add the '@')