More jobs:
BMS Embedded Software Development Engineer
Job in
Dearborn, Wayne County, Michigan, 48120, USA
Listed on 2026-10-16
Listing for:
Ford
Full Time
position Listed on 2026-10-16
Job specializations:
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, Software Engineer, C++ Developer
Job Description & How to Apply Below
In this position...
The Battery Management Embedded Software Engineer owns the base software platform beneath the application layer for high-voltage battery management controllers — the real-time operating system, hardware abstraction, drivers, communication stacks, software update mechanism, and security foundation.
Assignments may include string-level or system-level battery management controllers and may shift across the product architecture over the life of the program.
The ideal candidate has brought up embedded hardware from first power-on, written drivers from datasheets, integrated and hardened communication stacks, and owned a production software update path.
What you'll do...- Own board bring-up and hardware abstraction: clocks, memory, timers, interrupts, watchdog, and system basis chip integration.
- Configure and maintain the real-time operating system and scheduling architecture; own task partitioning, timing budgets, and runtime monitoring.
- Develop and integrate device drivers for cell monitoring front-end devices, voltage and current measurement, isolation monitoring interfaces, analog and digital I/O, high-side drivers, discrete inputs and outputs, and non-volatile storage.
- Own communication stacks and services, including automotive serial networks and diagnostic services.
- Own the boot loader and the software flashing, update, and rollback mechanism, including update across multiple controllers.
- Implement secure boot, secure flashing, secure debug access, signed image verification, and hardware security module key handling, in partnership with cybersecurity engineering.
- Own persistent data logging and event storage, including storage media management, retention, and retrieval.
- Own the embedded build environment, static analysis, unit test framework, and continuous integration pipeline.
- Integrate application, controls, and algorithm software onto the platform; support application engineers with debug, tracing, and runtime measurement.
- Define and document the base-software-to-application interface so application development can proceed independently of the platform.
- Support supplier software assessment and technical transfer.
- Debug at the hardware level with oscilloscopes, logic and protocol analyzers, and on-chip debuggers.
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 5+ years developing embedded software in C for resource-constrained real-time systems.
- Strong microcontroller architecture fundamentals: memory maps, interrupts, DMA, timing, and determinism.
- Production experience with a real-time operating system or equivalent scheduling framework.
- Driver development from datasheets and hands‑on hardware debug experience.
- Communication protocol implementation experience including CAN or CAN FD.
- Boot loader, flashing, or software update implementation experience.
- Version control, code review, and continuous integration discipline.
- Strong written and verbal communication skills.
- Ability and willingness to travel occasionally
- Master's degree in Computer Engineering, Electrical Engineering, or Computer Science.
- Battery management, high-voltage, or safety‑relevant control unit software experience.
- Layered automotive base software architecture experience.
- Experience interfacing to cell monitoring front‑end devices over isolated serial or CAN‑based interfaces.
- Secure boot, secure flashing, hardware security module, or cryptographic library integration.
- Software development under functional safety and cybersecurity process requirements.
- Familiarity with industrial communication protocol stacks in addition to automotive networks.
- MISRA C compliance and static analysis tool chains.
- Continuous integration and…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
Search for further Jobs Here:
×