Now hiring

Device - Software Engineer (Firmware) @ Span

Bengaluru, Karnataka, INOnsiteFull-time
Apply with ResuMinder

Opens on the employer's site

About this role

Our MissionSPAN 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 Team and RoleSPAN’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.

As an engineer on the Device Software team you will define and implement new features directly related to SPAN’s hardware products focusing on the lowest level - the microcontroller. This includes everything from bootloaders on systems without an OS up through applications in C and C++ inside an RTOS. Hardware products are central to SPAN’s business and writing firmware for even our smallest microcontrollers means working on something that directly impacts the user experience. You will own large user-facing features from conception through implementation on future hardware products, working independently to bring them to completion.

Representative ProjectsDesigning an OTA system that encompasses a variety of communication interfaces, processor types, and products, while achieving both secure goals for hardware-backed encryption and verification and high reliability.

Working with system architects to invent a data steaming architecture for a new product family which can satisfy both the needs of the data science team to access high rate and quality data, as well as safety guarantees around consistency and accuracy.

Representing the Device Software team in group settings and evangelizing engineering best practices. Participating in code and design reviews as well as authoring documents which further reinforce these goals, and supporting engineers across the org in hitting them.

About YouRequired Qualifications

We are seeking a Firmware/Embedded Linux engineer with:

5 or more years of experience writing software for a hardware device (on a microcontroller, and/or in Linux, etc) in C++ or C

Strong fundamentals in modern software design with tools like Object-Oriented design, coupled with awareness of concerns like manual memory management

Experience working with standard electrical communication interfaces like UART, I2C, USB, etc

Exceptional interpersonal communication and collaboration skills. Great at building trust and driving decisions to a resolution

Track record of taking ownership over projects and willingness to help others with theirs, from design and code review through to mentorship of new employees

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 the STM32 microcontroller family

Experience with functional safety and processes and standards like UL 60730, ISO 26262, IEC 61508, and UL 1998

Experience writing higher level system or application software such as diagnostic command line tools or the application side of a communication interface

Wireless technologies like WiFi, Bluetooth and Zigbee

Hands-on experience with electronics lab equipment

Clean energy hardware in a multidisciplinary environment.

Skills

SoftwareSoftware Engineering

Ready to apply?

Install the ResuMinder extension and we'll auto-fill the application in seconds — no rewriting.

See how your CV scores