Jobs · Engineering · Michigan

Embedded Controls Software Engineer

Apex Systems · Allen Park, MI · 1 mo ago
Engineering$40–$65/hrContract

Position 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.

Required Skills

  • MATLAB: 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.
  • Coding: Ability 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.
  • C++: 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.
  • Embedded Software: 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.
  • Embedded Systems: Understanding of 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.
  • 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

Software Design

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, and 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, and 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.

Similar jobs

Embedded Controls Engineer

Fresenius Kabi USANorth Andover, MA· 2 mo ago
Engineering$115k–$135k/yrapply on freseniusglobal.wd3.myworkdayjobs.com