Device Software Engineer

Sorry, this job was removed at 11:47 a.m. (PST) on Friday, December 31, 2021
Find out who's hiring in San Francisco.
See all Developer + Engineer jobs in San Francisco
Apply
By clicking Apply Now you agree to share your profile information with the hiring company.

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 Role

As an 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 effects 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 in order 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 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. 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 an SOC to understand and debug the manufacturer's calibration process

  • Writing a 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 home owner 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 to 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 YouRequired 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)

  • 3+ years of Software Engineering experience 
  • A desire to consider how their 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

Bonus Qualifications

We do not expect any engineer to have all skills, but we do want you to be excited to learn and grow. Every Device Software Engineer is free to roam up and down our device software stack, so any combination of the following skills is welcome but not required.

  • 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

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.


Read Full Job Description
Apply Now
By clicking Apply Now you agree to share your profile information with the hiring company.

Location

San Francisco, CA 94103

Similar Jobs

Apply Now
By clicking Apply Now you agree to share your profile information with the hiring company.
Learn more about SpanFind similar jobs