About this role
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