Embedded Controls Software Engineer

Apex Systems LLC
Allen Park, MI, United States
16 days ago
Apply on jobs.mitalent.org
Prepare application

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
4 years minimum
Compensation
$83,200.0 - $135,200.0
Working hours
Regular working hours

Tech stack

Algorithm Design Unit Testing AUTomotive Open System Architecture (AUTOSAR) C++ (Programming Language) Cloud Computing Static Program Analysis Code Generation Communications Protocols Software Debugging Embedded Software Hardware-In-The-Loop Simulation Python (Programming Language)
+21 more
MATLAB Language Modeling Regression Testing Release Management ISO/IEC 15504 Simulink Software Engineering Stateflow System Software Systems Integration Strategies of Testing Scripting Software Modules Real Time Systems Google Test State Machines Reliability of Systems Integration Tests Information Technology Canoe Software Programming Languages

Job description

As an Embedded Controls Software Engineer, you will be a critical contributor to the design, development, and validation of advanced embedded control software for next-generation automotive systems. This specialized role focuses on the Body Control Module (BCM), directly impacting vehicle safety, user experience, and electrification readiness.

You will leverage your expertise in controls theory, real-time systems, and embedded architecture to architect, develop, and optimize complex, safety-critical software throughout the entire product lifecycle.

The Body Control Software Team is dedicated to creating Body Control Application Software components, developing and enhancing existing software components that integrate with current architectures, as well as next-generation vehicle systems.

Join our diverse global team located in Dearborn, Palo Alto, Ottawa, Mexico, Germany, and India to design and develop embedded software in areas related to cloud-based computing, ad-hoc computing, and embedded platforms.

Primary Skills Required1. MATLAB, Design, develop, and implement embedded control systems for Body Control Modules (BCM). Perform high-level analysis and design planning for new features supporting scalable production and next-generation Software-Defined Vehicle (SDV) architectures. Requires a strong understanding of software modeling and embedded design principles.

Requirements Engineering

Partner with cross-functional stakeholders to capture system-level requirements and translate them into detailed functional and technical specifications for control algorithms and software modules, ensuring alignment with vehicle performance and safety objectives.

Algorithm Development & Implementation

Design, develop, and optimize control algorithms. Implement AUTOSAR-compliant software components using C/C++, MATLAB (Simulink/Stateflow), and Python. Utilize DaVinci Developer for AUTOSAR configuration and integration.

Verification, Validation & Testing

Lead test strategy development and execution, including:

  • Model-in-the-Loop (MIL)
  • Software-in-the-Loop (SIL)
  • Hardware-in-the-Loop (HIL)
  • Unit testing
  • Integration testing (e.g., Google Test)

Perform on-target validation using Vector CANoe and the MULTI debugger. Conduct root cause analysis and implement robust corrective actions.

Compliance & Quality Assurance

Ensure adherence to:

  • ISO 26262 (Functional Safety)
  • ASPICE
  • AUTOSAR Standards

Enforce quality practices including static code analysis and Model Advisor reviews to maintain software reliability and quality.

Process Optimization & Automation

Identify development bottlenecks and implement Python-based automation scripts and reusable model templates to streamline workflows, improve efficiency, and reduce development cycle time.

Requirements

Candidate should demonstrate hands-on experience using MATLAB/Simulink (including Stateflow) to model, design, and simulate embedded control algorithms for BCM features.

Example: Building a Simulink state machine to model a vehicle lighting or door control feature, running Model-in-the-Loop (MIL) simulations to validate logic, and using Model Advisor checks to ensure modeling standards compliance prior to code generation.

  1. Coding

Candidate should be able to write clean, efficient, and standards-compliant code for embedded automotive applications, including scripting for automation.

Example: Developing a Python automation script to parse test logs and automatically generate pass/fail reports, reducing manual validation time during regression testing cycles.

  1. C++

Candidate should demonstrate proficiency writing and debugging C/C++ code for real-time, resource-constrained embedded targets, including implementing AUTOSAR software components.

Example: Implementing a C++ AUTOSAR Software Component (SWC) for a BCM feature (e.g., power window control), integrating it through DaVinci Developer, and validating memory and timing constraints on target hardware.

  1. Embedded Software

Candidate should demonstrate the full lifecycle of embedded software development, from requirements through implementation and on-target validation, for safety-critical automotive systems.

Example: Taking a system-level requirement for a new BCM feature, translating it into a functional specification, implementing the control logic, and validating it through SIL/HIL testing using Vector CANoe prior to production release.

  1. Embedded Systems

Candidate should understand hardware/software interaction, real-time constraints, and communication protocols (CAN/LIN) governing embedded automotive systems.

Example: Diagnosing a field issue where a BCM module intermittently fails to respond over CAN, performing root cause analysis using CANoe traces and the MULTI debugger, and implementing a fix that accounts for timing and interrupt behavior on the target ECU.

Required Skills

  • MATLAB
  • Simulink
  • Stateflow
  • C/C++
  • Python
  • Embedded Software Development
  • Embedded Systems
  • AUTOSAR
  • CAN/LIN Communication Protocols
  • Vector CANoe
  • DaVinci Developer
  • MULTI Debugger

Experience Required

Engineer 3

  • Practical experience in two programming languages, or advanced practical experience in one programming language
  • 6+ years of IT experience
  • 4+ years of software development experience

Education Required

  • Master’s Degree

Apply for this position

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

Apply on jobs.mitalent.org
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:34 min

Selecting specific microcontrollers and fundamental programming languages for powertrains

David Romić · World Congress 2023

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

2:40 min

Motivations for transitioning legacy MATLAB repositories to Python

Michael Niebisch Michael Niebisch · World Congress 2024

1:04 min

Introduction to Bitcoin script parsing tools

Steve Shadders · LIVE

2:14 min

Custom domain controllers and vehicle communication networks

Denis Grahovac · World Congress 2021

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

Videos

See all

Related articles

See all