The Role
Develop and validate embedded battery management software spanning drivers, hardware abstraction, communication stacks, diagnostics, bootloaders, and application controls. Implement BMS functions including cell monitoring, balancing, contactor control, isolation detection, and metrology. Debug target hardware, resolve root causes, maintain traceability and documentation, apply safe coding practices, and collaborate within an agile DevOps-oriented team.
Summary Generated by Built In
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Develop drivers, hardware abstraction, and I/O handling for BMS functions such as cell monitoring/balancing, contactor control, isolation detection, and metrology (current, voltage, temperature)
- Design and implement software from platform/base layers (bootloader, diagnostics, communication stacks) through application-level control logic, applying layered architecture to keep code portable, testable, and maintainable
- Verify and validate software through structured testing across functional behavior, performance, robustness, safety, compliance, and security
- Follow defined lifecycle processes and maintain traceability between engineering phases and artifacts to ensure quality and compliance
- Establish and maintain comprehensive documentation of software implementation
- Collaborate with internal stakeholders and customers to execute ONE's BMS strategy
- Root-cause and resolve issues, driving continuous refinement
- Build subject-matter expertise in BMS topics and contribute to technical reviews
- Work within an agile, DevOps-oriented team focused on continuous delivery and improvement
- Perform other duties as assigned by management
QUALIFICATIONS:
- B.S. in Electrical, Computer, or Aerospace Engineering, Software Engineering, Computer Science, or a related field, plus relevant technical experience (M.S. preferred)
- In-depth embedded software experience for automotive or industrial applications, spanning driver-level to application-level software
- Proficient in C programming of embedded systems
- Experience with communication protocols such as CAN, Ethernet, Modbus, SPI, and I2C
- Experience with battery management algorithms (SOC/SOH estimation, cell balancing, charge/discharge control, contactor sequencing, isolation/ground-fault detection, and precision current/voltage metrology) is a strong differentiator
- Experience with automotive/industrial microcontrollers such as Infineon AURIX (TriCore) or NXP-based devices preferred
- Hands-on experience debugging embedded software running on target hardware using oscilloscopes, logic analyzers, in-circuit debuggers/emulators, and CAN instrumentation, measurement, and calibration equipment
- Experience translating requirements into algorithm design and production-grade software, including software verification and validation
- Experience with static analysis and code-quality tooling to enforce safe, portable embedded coding practices (e.g., MISRA-C compliance checking)
- Experience with software development processes and tools, including lifecycle/change management systems
- Familiar with source and configuration management systems (e.g., version control) and CI/CD pipelines for embedded software
- Preferred: experience developing embedded controls compliant with ISO 26262, IEC 61508, and/or ISO 60730 standards
- Familiarity with diagnostic software concepts such as fault management and UDS/ISO-TP
- Skilled at troubleshooting embedded functional and diagnostic issues in vehicle applications, driving solutions and validating corrective/preventive actions
This employer is required to notify all applicants of their rights pursuant to federal employment laws. For further information, please review the Know Your Rights notice from the Department of Labor.
Skills Required
- Bachelor’s degree in Electrical, Computer, Aerospace, or Software Engineering, Computer Science, or a related field
- Relevant technical experience in embedded software development
- In-depth embedded software experience for automotive or industrial applications from driver-level through application-level software
- Proficiency in C programming for embedded systems
- Experience with CAN, Ethernet, Modbus, SPI, and I2C communication protocols
- Experience translating requirements into algorithm design and production-grade software, including verification and validation
- Experience debugging embedded software on target hardware using oscilloscopes, logic analyzers, in-circuit debuggers or emulators, and CAN instrumentation
- Experience with static analysis and code-quality tooling for safe embedded coding practices
- Experience with software development processes, lifecycle management, and change management systems
- Familiarity with source and configuration management systems and CI/CD pipelines for embedded software
- Familiarity with diagnostic software concepts including fault management and UDS/ISO-TP
- Skilled troubleshooting embedded functional and diagnostic issues in vehicle applications
- Master’s degree
- Experience with battery management algorithms, including SOC/SOH estimation, cell balancing, charge/discharge control, contactor sequencing, isolation detection, and precision metrology
- Experience with Infineon AURIX TriCore or NXP automotive or industrial microcontrollers
- Experience developing embedded controls compliant with ISO 26262, IEC 61508, or ISO 60730
Am I A Good Fit?
Get Personalized Job Insights.
Our AI-powered fit analysis compares your resume with a job listing so you know if your skills & experience align.
Success! Refresh the page to see how your skills align with this role.
The Company
What We Do
Our Next Energy (ONE) is paving the way for an electric future, innovating energy storage technologies that will rapidly expand the world’s ability to access sustainable power. We are showing the world what’s possible, rapidly clearing hurdles that stand in the way of mass clean energy adoption: extending range, increasing safety, lowering cost and, of course, using the cleanest chemistries.








