Embedded Software Developer1

Pentangle Tech
Plymouth, MI, United States
1 day ago
Apply on www.careerbuilder.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours

Tech stack

C (Programming Language) Abstraction Layers Software Applications JIRA Unit Testing AUTomotive Open System Architecture (AUTOSAR) Booting (BIOS) C++ (Programming Language) Network Analysis Static Program Analysis Code Review Communications Protocols
+33 more
Computer Programming Computer Engineering Software Debugging Memory Management Embedded C Middleware Embedded Software Hardware-In-The-Loop Simulation Supervisory Control and Data Acquisition (SCADA) Python (Programming Language) MATLAB MISRA C (C Programming Language) Software Architecture Real-Time Operating Systems ISO/IEC 15504 Simulink Software Engineering Verification and Validation (Software) Stateflow Systems Integration Universal Asynchronous Receiver/Transmitter Serial Peripheral Interface PIC Microcontroller DOORS (Software) Gitlab Git Integration Tests Information Technology Trace32 Automotive Software Polarion Canoe Software Jenkins

Job description

  • Design, develop, and maintain embedded software for automotive Battery Management Systems (BMS).
  • Develop software functions for battery monitoring, State of Charge (SOC), State of Health (SOH), State of Power (SOP), cell balancing, and battery protection.
  • Implement battery safety features, fault management, contactor control, high-voltage interlock, and thermal management interfaces.
  • Develop production-quality embedded software using C/C++.
  • Develop and integrate low-level drivers, middleware, application software, and hardware abstraction layers.
  • Implement communication protocols including CAN, CAN FD, LIN, SPI, I2C, and UART.
  • Implement automotive diagnostics using UDS (ISO 14229), DTCs, and ECU diagnostic services.
  • Integrate software with battery monitoring ICs, sensors, actuators, and vehicle ECUs.
  • Perform debugging and troubleshooting using Vector CANoe/CANalyzer, Lauterbach TRACE32, oscilloscopes, and logic analyzers.
  • Support unit testing, software integration, SIL, HIL, and vehicle-level validation.
  • Perform root-cause analysis and resolve software defects.
  • Follow automotive software development standards, including AUTOSAR Classic, ASPICE, and ISO 26262.
  • Participate in software architecture reviews, code reviews, requirements analysis, and technical documentation., Candidates with experience in the following areas will be strongly preferred:
  • Automotive Battery Management Systems (BMS) for EV/HEV/PHEV applications.
  • Lithium-ion battery architectures and battery pack management.
  • Cell voltage, current, and temperature monitoring.
  • SOC, SOH, and SOP algorithms.
  • Cell monitoring and balancing.
  • Contactor and pre-charge control.
  • High-voltage safety and isolation monitoring.
  • Battery thermal protection and management.
  • Over-voltage, under-voltage, over-current, and short-circuit protection.
  • Battery charging/discharging management.
  • BMS diagnostics and fault management.

Requirements

Embedded Software, Software Development, Embedded Software, Software Development, Software Validation, Automotive Management, Embedded Systems, Realtime Operating System, Microcontroller, C Programming Language, The ideal candidate will have strong hands-on experience in Embedded C/C++, automotive microcontrollers, CAN/CAN FD communication, ECU diagnostics, and real-time embedded software development. Experience with EV battery management, battery monitoring, protection mechanisms, and functional safety is highly preferred., * Bachelor’s or Master’s degree in Electrical Engineering, Electronics, Computer Engineering, Computer Science, or a related field.

  • Strong hands-on programming experience in Embedded C/C++.
  • Experience developing software for automotive embedded controllers or ECUs.
  • Experience with automotive microcontrollers such as:
  • Infineon AURIX
  • NXP S32K/S32G
  • Renesas RH850
  • Similar automotive MCU platforms
  • Strong understanding of real-time embedded systems, interrupts, timers, memory management, ADC, PWM, GPIO, watchdogs, and boot initialization.
  • Hands-on experience with CAN/CAN FD and automotive communication protocols.
  • Knowledge of UDS, DTCs, diagnostic sessions, and ECU diagnostics.
  • Experience with embedded software debugging and automotive network analysis tools.

Preferred BMS Experience, Embedded C, C++, Python

Automotive

AUTOSAR Classic, UDS, CAN, CAN FD, LIN

Communication

SPI, I2C, UART

Microcontrollers

Infineon AURIX, NXP S32K/S32G, Renesas RH850

Debugging Tools

Lauterbach TRACE32, Vector CANoe, CANalyzer, CANape

Model-Based Development

MATLAB, Simulink, Stateflow

Functional Safety

ISO 26262, ASPICE, MISRA C/C++

Testing

Unit Testing, SIL, HIL, Integration Testing

Configuration & ALM

Git, GitLab, Jenkins, Jira, Polarion, IBM DOORS

Preferred Skills

  • Experience developing safety-critical automotive embedded software.
  • Understanding of ASIL-oriented software development and functional safety concepts.
  • Knowledge of MISRA C/C++ coding guidelines and static code analysis.
  • Experience with MATLAB/Simulink and model-based software development.
  • Knowledge of bootloaders and ECU flashing.
  • Familiarity with automotive ECU cybersecurity.
  • Strong debugging, troubleshooting, and root-cause analysis skills.
  • Ability to work collaboratively with hardware, systems, controls, validation, and functional safety teams.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.careerbuilder.com
Prepare application

Good distractions

Loading talks and stories from around this role…