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.
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.
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.
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
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
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
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:
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.