> Markdown version of [/jobs/ext/3932944-bms-software-development-engineer](https://www.wearedevelopers.com/jobs/ext/3932944-bms-software-development-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # BMS Software Development Engineer - **Company:** Ford Motor Company - **Location:** Dearborn, MI, United States - **Experience:** Expert - **Salary:** $86,600.0 - $144,900.0 - **Contract:** Permanent contract - **Skills:** Software Applications, Unit Testing, Software Documentation, Code Review, Software Debugging, Embedded C, Integrated Development Environments, Requirements Traceability, Software Engineering, Software Requirements Analysis, State Machines, Production Code - **Published:** October 26, 2026 - **Apply:** https://www.techcareers.com/job.asp?id=3467287928&tx=VT6762TYD&pt=1&aff=0B19D771-A501-4A5E-8338-2A822B784D54&utm_source=Job%20Feed&utm_medium=textkernel&utm_campaign=DE&utm_term=0B19D771-A501-4A5E-8338-2A822B784D54 ## About the Role * Bachelor's degree in Electrical, Computer, Mechatronics, Controls, or Mechanical Engineering. * 5+ years developing embedded application or control software for electronic control units. * Model-based development proficiency with production code generation, plus working C ability. * Demonstrated state machine, sequencing, and diagnostic strategy design on a production program. * Requirements-driven software development with traceability, unit testing, and code review discipline. * Comfort working directly with hardware, benches, and instrumentation to debug control behavior. * Strong written and verbal communication skills. * Ability and willingness to travel occasionally. Even better, you may have... * Master's degree in Electrical Engineering, Controls, or a related technical field. * Battery management control software: contactor sequencing, protection strategy, limit calculation, and balancing. * High-voltage system experience and understanding of isolation, precharge, and interlock principles. * Software development under functional safety process requirements, including safety mechanism implementation. * Calibration methodology and parameter management for production programs. * Coordination or aggregation logic across distributed controllers. * Thermal management control strategy experience. * Technical Skills * Model-based development and production code generation * Embedded C application software * State machine and mode management design * High-voltage sequencing and contactor control * Protection strategy and limit arbitration * Diagnostic strategy design * Thermal control strategy * Balancing demand logic * Calibration and parameter management * Requirements traceability and software documentation * Bench and hardware debug ## Description The Battery Management Controls Software Engineer develops the application-layer control software that determines how a high-voltage battery system behaves: operating states, high-voltage sequencing, protection, limits, thermal control, diagnostics, and coordination across multiple strings. Assignments may include supervisory system-level control software or string-level control software and may shift across the product architecture over the life of the program. The ideal candidate has designed state machines, protection strategy, and diagnostic logic on a production program, works fluently in a model-based development environment with production code generation, and is comfortable debugging control behavior on real hardware. What you'll do... * Develop and own operating state machines and mode management, including supervisory coordination across multiple controllers. * Implement high-voltage sequencing: precharge control and completion verification, contactor activation and deactivation, contactor diagnostics including welded and open contact detection, and interlock handling. * Implement protection strategy: cell and pack overvoltage and undervoltage, overcurrent, overtemperature and undertemperature, isolation loss, and thermal event detection and response. * Implement current and power limit calculation and arbitration, including derate strategy and coordination of limits across levels of the system. * Implement cell balancing demand logic and coordinate balancing behavior across modules and strings. * Implement thermal management control, including actuation, setpoint strategy, and thermal diagnostics. * Implement aggregation and consolidation of measured and estimated states for reporting at system level, and fault propagation and annunciation to external systems. * Own diagnostic strategy: fault detection, debounce, classification, storage, clearing, and reporting. * Integrate and calibrate estimation models delivered by algorithm engineering; own the calibration parameter set and its documentation. * Develop application software using model-based development with production code generation, plus hand-written C where appropriate. * Author software requirements and design documentation traceable to system requirements; support safety and security analyses. * Support validation debug, root cause analysis, and field issue resolution.