Overview
Senior Embedded Software Engineer to build and productize software across the complete Battery Management Systems (BMS) stack for automotive, energy storage, industrial, robotics and emerging markets.
What you'll do
- Build the complete BMS software stack, including MCU platform software, hardware abstraction, diagnostics, BMS IC and peripheral device drivers, communication, monitoring, protection, and balancing.
- Deploy battery algorithms on embedded targets, translating models and reference code for SOC, SOH, power capability, diagnostics, anomaly detection, and impedance-based functions into deterministic Embedded C.
- Optimize for real-world constraints, including execution time, memory, power, numerical accuracy, scaling, and fixed- or floating-point behavior.
- Scale software across products and markets through reusable architectures and configurable solutions for multiple MCUs, BMS ICs, toolchains, battery topologies, and operating environments.
- Create robust Python engineering tools for automated testing, data processing, visualization, calibration, profiling, and algorithm validation.
- Own delivery from concept to release, driving requirements, design, implementation, verification, troubleshooting, reviews, and maintenance in collaboration with multidisciplinary teams.
What you'll need
- B.E. / B.Tech or M.E. / M.Tech in Electrical Engineering, Electronics, Embedded Systems, Computer Science, Instrumentation, or a related discipline.
- Four to six years of embedded software experience in BMS, battery monitoring, power electronics, automotive, energy, industrial, or another safety- and reliability-focused domain.
- Proven delivery of embedded features from requirements and design through integration, verification, and release.
- Embedded C and Python: strong programming skills and the ability to independently develop production embedded software and maintainable tools for automation, testing, data analysis, visualization, and algorithm validation.
- Embedded systems: strong knowledge of MCU architecture, interrupts, timers, memory, DMA, peripherals, boot flow, RTOS or bare-metal systems, communication protocols, build systems, debugging, version control, and continuous integration.
- BMS and electrical engineering: understanding of battery cells and packs, sensing, ADCs, isolation, contactors, protection, balancing, diagnostics, filtering, signal integrity, and basic controls; ability to interpret schematics, data sheets, and timing diagrams.
- Mathematics and algorithms: strong quantitative foundation in calculus, probability, statistics, numerical methods, linear systems, and signal processing, with practical understanding of precision, scaling, overflow, error, and computational complexity.
- Engineering quality: strong debugging and root-cause analysis skills, supported by disciplined requirements, design, review, configuration management, testing, traceability, and defect management practices.
- Behavioral expectations: take ownership, exercise sound judgment, and deliver high-quality results; use structured, data-driven thinking for complex and ambiguous problems; collaborate effectively and communicate decisions, risks, and results clearly; adapt, share knowledge, support colleagues, and continuously improve.
Nice to have
- Experience with SOC, SOH, state-of-power, impedance, estimation, prediction, or diagnostic algorithms.
- Exposure to MATLAB/Simulink, model-based development, code generation, calibration, or algorithm prototyping.
- Knowledge of AUTOSAR, functional safety, cybersecurity, Automotive SPICE, MISRA C, static analysis, performance optimization, hardware-in-the-loop testing, or data-driven battery analytics.
Details
- Job type: Experienced; shift type: 1st Shift/Days.
- Required travel: yes, 10% of the time.
- Export licensing review may apply to non-US applicants for positions requiring access to technical data.
Read the full description and apply on the company’s own careers page.