Propulsion Controls Software Engineer - Automotive
Listed on 2026-10-12
-
Software Development
Embedded Software Engineer, C++ Developer, Embedded Systems/ Firmware/ IoT, Software Engineer
We are seeking an experienced Propulsion Controls Prototype Software Engineer to support the development, integration, and rapid prototyping of advanced control software for engine control modules and electrified/hybrid propulsion supervisory controllers.
This position will develop prototype embedded software used to evaluate new propulsion technologies in simulation, Hardware-in-the-Loop (HIL), dynamometer, and vehicle environments. The engineer will work across application software, AUTOSAR architecture, communication interfaces, and base/foundation software to quickly translate new controls concepts and requirements into executable ECU software.
The ideal candidate combines strong automotive embedded software development experience with a practical understanding of propulsion controls. They should be comfortable working with both hand-coded embedded C/C++ algorithms and model-based/autocoded MATLAB/Simulink/Stateflow software, and should be capable of troubleshooting issues across the boundary between application software, RTE, BSW, CAN communications, ECU hardware interfaces, and calibration.
Key Responsibilities- Develop, modify, integrate, and release prototype embedded control software for engine controllers and hybrid/electrified propulsion supervisory controllers.
- Translate control concepts, models, functional requirements, and experimental algorithms into executable embedded software.
- Develop software using both:
- Hand-coded C/C++
- MATLAB/Simulink/Stateflow model-based development and autocoding
- Modify existing Simulink models and supporting artifacts such as data dictionaries and prepare models for prototype software implementation.
- Develop and integrate software within an AUTOSAR-based embedded architecture, including understanding of Software Components, ports/interfaces, internal behavior, runnables, compositions, ARXML, variant management, and RTE generation.
- Use System Desk for AUTOSAR application architecture/modeling and ARXML-related development.
- Configure, generate, integrate, and troubleshoot the AUTOSAR Runtime Environment (RTE) using tools such as Vector DaVinci and ETAS ISOLAR.
- Develop and integrate CAN communication interfaces, signals and messages.
- Work with CAN database/comm artifacts, including DBC/LDF-based interfaces where applicable.
- Understand the interactions among Application Software (ASW), RTE, Basic Software (BSW), device drivers, and ECU hardware.
- Integrate and troubleshoot BSW/foundation software, including configuration and interfaces required to support application software.
- Execute the embedded software build process and manage development branches using Git/version-control workflows.
- Perform ECU software integration including compilation, linking, memory/configuration troubleshooting, and generation of software artifacts required for calibration and testing.
- Support MIL, HIL, dyno, and vehicle software checkout and validation, including rapid root‑cause analysis of software, communications, calibration, and integration issues.
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, Mechanical Engineering, or a closely related engineering discipline.
- 5+ years of professional experience in automotive embedded controls/software development.
- Strong embedded programming skills in C/C++.
- Demonstrated experience developing software for automotive ECUs or comparable real‑time embedded systems.
- Strong working knowledge of MATLAB, Simulink, and Stateflow.
- Experience with both hand‑coded and model‑based/autocoded embedded software development.
- Practical experience with AUTOSAR Classic application software architecture and integration.
- Experience with System Desk, ARXML, AUTOSAR SWCs, ports/interfaces, runnables, compositions, ECU…
(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).