Full-Time

Device Software Engineer

Posted on 9/15/2022

Span

Span

201-500 employees

Residential energy storage & eletrification devices

Hardware
Energy

Compensation Overview

$103,000 - $140,000

Mid

San Francisco, CA, USA

Required Skills
Rust
Python
Software Testing
Java
Operating Systems
C/C++
Linux/Unix
Requirements
  • Experience writing software for a hardware device (in Linux, and/or on a microcontroller, etc)
  • 3+ 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 development processes like unit testing, continuous integration, and version control
Responsibilities
  • 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
  • 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
Desired Qualifications
  • Experience with functional safety and processes/standards like ISO-26262, IEC 61508, 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
  • Familiarity with a higher level language like Python/C++/Java/Rust/etc and Object-Oriented design
  • Wireless technologies like WiFi, Bluetooth, and Zigbee
  • Experience writing or debugging Linux userspace and kernel drivers, especially around network interfaces
  • Experience with electronics lab equipment

Span’s mission is to design, build, and deploy products that electrify to aid in decarbonizing the world and to slow the effects of climate change. The company is reimagining the 100-year-old electrical panel by providing electrification upgrades like solar, home battery, and EV charging equipment.

Company Stage

Series B

Total Funding

$220M

Headquarters

San Francisco, California

Founded

2018

Growth & Insights
Headcount

6 month growth

-1%

1 year growth

18%

2 year growth

72%

Benefits

Competitive salary

Comprehensive benefits

6-month parental leave

Unlimited PTO

Teambuilding & career growth

INACTIVE