Staff Device Software Engineer
Span.IO, Inc.About the role
Our Mission
SPAN develops products that accelerate the rapid adoption of renewable energy in the home. The flagship SPAN Smart Panel is the first true evolution for the traditional home electric panel, harnessing enhanced technology for metering, monitoring, and control. An expanded product suite of intelligent, integrated solutions radically lowers the cost and complexity of energy upgrades–including solar, batteries and EVs–empowering homeowners to be active, resilient and informed players in the energy market.
The Role
As an staff engineer on the Device Software team, you will define and implement new features directly related to SPAN’s hardware products. Hardware products are central to SPAN’s business and writing firmware for even our smallest microcontrollers means working on something that directly affects the user experience. The team is small and you will own large user-facing features from conception through implementation, working independently to bring them to completion. Our goal is to hire friendly, smart engineers who like to work on in collaborative teams to solve complex problems. Ownership and autonomy are large and you can expect to work directly with the product, software, and hardware teams to ensure the right things get built.
The Team
SPAN’s Device Software team is responsible for the software that is physically embodied in our hardware products. Our first 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 touches every part of that system from 8-bit microcontrollers through embedded Linux, sometimes extending down to the electrical hardware below and up to the cloud infrastructure our devices speak to.We look for friendly, excellent engineers who enjoy working with their peers to solve complex problems. We prioritize autonomy, trusting that the people we hire are capable of great things when supported by a team, and encourage everyone to exercise their agency in pursuing solutions. Engineers work directly with the broader software, product, and hardware teams to ensure the right things get built at the right time.
Responsibilities
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 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. We also do not expect every candidate to do all of these things; we each work on the areas of our interest and skill set.
Representative Projects
- Digging into the onboard temperature sensor in a SOC to understand and debug the manufacturer's calibration process
- Writing service in Rust to communicate with a new home IoT device, then working with the cloud and mobile team to design the homeowner onboarding and commissioning flow for it
- Designing a security and authentication strategy to allow a homeowner to safely access web resources hosted on their home panel
- Writing a tool in Python to help the systems team explore the communication protocol of a new solar inverter
- Exposing time-critical metrics from our hardware to help the business team better understand our customers
- Designing and building software infrastructure to allow our data scientists to deploy machine learning models to the field, then collect and analyze results
- Working with the product team during the conception of a new product to define what kind of local communication is possible at the install site
About You
Required Qualifications:
We are seeking a Firmware/Embedded Linux engineer with:
- Experience writing software for a hardware device (in Linux, and/or on a microcontroller, etc)
- 7+ years of Software Engineering experience
- A desire to consider how your work fits into the larger puzzle of the Span product and business, and a track record of taking ownership of projects and features.
- Understanding engineering principles and processes to design robust, scalable, and resilient systems
- Experience with modern software d
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s