At SPAN, we are building products to enable the rapid adoption of renewable energy. As more distributed energy resources like solar and storage come onto the grid, it’s increasingly important to be able to improve the technology that sits between the grid, the home, and those distributed energy resources. SPAN’s smart panel replaces the electrical panel to become the center for connected power in the home. With SPAN, homeowners receive all the safety features of a standard panel with revolutionary insights and edge-of-grid controls through our mobile app. As an intern on the Device Software team you will work with SPAN’s full time engineers to solve complex technical challenges directly related to our hardware products. The Device Software team is responsible for all of the software running physically in our products, from simple 8-bit microcontrollers running RTOS up through embedded Yocto Linux computers, as well as the internal tooling to support and improve them. We do this in a collaborative environment so expect to be given independence to work on complex tasks on your own, and the support to learn what you need to execute on them successfully. SPAN’s Device Software team is responsible for all of 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 in order to perform its job. We look for friendly, excellent engineers who enjoy working with their peers to solve complex problems and prioritize trusting that the people we hire are capable of great things when well supported. Engineers work directly with the broader software, product, and hardware teams to ensure the right things get built at the right time. During a typical internship on the SPAN Device Software team you might expect to work on projects such as Writing a profiling library that allows us to measure request/response latency to the various tasks in our main microcontroller Writing a tool in Python to help the systems team explore the communication protocol of a new solar inverter Learn Rust, and improve user-facing features in our Linux Gateway Characterizing the (mis)behavior of various solar equipment in our lab using a logic analyzer or Wireshark to nail down subtle protocol issues
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Career Level
Intern