Jobless Developer
Mainspring Energy logo

Posted 10 days ago

Open

Embedded Software Engineer

Menlo ParkOn-site

AI Summary

Designs and maintains firmware and software for embedded Linux and bare-metal systems, develops Python tooling for hardware bring-up and testing, and builds diagnostic interfaces for field technicians.

About this role

About Mainspring

Mainspring Energy manufactures and delivers fuel-flexible, low-emissions local power solutions that rapidly add new capacity and deliver reliable, affordable, and sustainable electric power. The company began commercial shipments of its Mainspring Linear Generators in 2020 and today has hundreds of megawatts in advanced development and field operations for leading Fortune 500 companies, data centers, and utilities. Mainspring also partners with global energy leaders including AEP, NextEra Energy Resources, Schneider Electric, and more.

The core values that ground our work, guide our decisions, and connect us together:

  • Pragmatic Optimism
  • Excellence without Ego
  • Proactive Collaboration

Job Overview

Mainspring Energy’s revolutionary linear generator is a sophisticated robot. Inside the generator is a network of computers combining embedded Linux and real-time bare metal applications. These orchestrate the critical tasks of shaping control signals and collecting data from a wide variety of sensors which make this technology possible. Our embedded platform is rapidly evolving, and we need great software developers to make it happen. If you love building systems, getting hands on hardware and just making everything work, then we need you!

Responsibilities

This is a software engineering role with emphasis on embedded systems and their associated tools.

As a developer on the team you will contribute to:

  • Firmware & Software Development: Design, write, and maintain high-quality, production-ready C++ code for diverse hardware architectures, including both embedded Linux platforms and bare metal/RTOS environments

  • Python Tooling & Automation: Develop custom Python applications, CLI utilities, and automated scripts that interface directly with embedded devices (via Serial, USB, CAN, or Ethernet) for hardware bring-up, configuration, data logging, and manufacturing tests

  • Diagnostic & HMI Interfaces: Architect and implement standards-based communication interfaces (e.g. standard APIs, Modbus, MQTT, or industry-specific protocols) that expose telemetry, system states, and error logs directly to technician HMIs

  • System Robustness for Repair: Develop advanced self-diagnostic routines, non-volatile fault logging, and state-reporting mechanisms that provide clear, actionable data to field service technicians to streamline hardware troubleshooting and repair

  • Qualifications

    You have:

  • Experience: 3+ years embedded software development experience (real-time a plus)

  • Languages: C/C++ and Python

  • Debugging Skills: Strong ability to debug complex systemic issues across the hardware/software boundary using logic analyzers, multimeters, and physical debuggers

  • Education: Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent practical experience

  • Skills

    Bare MetalC++CANEmbedded LinuxEthernetLogic AnalyzersModbusMQTTMultimetersNon-volatile Fault LoggingPhysical DebuggersPythonRTOSSelf-diagnostic RoutinesSerialUSB

    Explore related jobs

    Browse these categories

    Market data for software engineer roles

    All reports →