Senior Automotive Embedded Software Developer – Embedded C / ECU

Altentechnologyusa · Detroit, Michigan, United States · Engineering

Posted 2026-10-30

Apply for this role →

Job Overview

We are seeking a highly experienced Senior Automotive Embedded Software Developer with strong hands-on expertise in Embedded C programming and automotive ECU/controller development. The ideal candidate will have experience owning the complete automotive software development V-cycle, from requirements analysis and software architecture through coding, code reviews, unit testing, integration, verification, validation, and production release.

The role focuses on developing embedded software for automotive electronic control units and mechatronic systems, including applications such as airbag systems, Battery Management Systems (BMS), Body Control Modules (BCM), seating controllers, actuator control, and motor control systems.

The successful candidate must demonstrate strong technical ownership across the software development lifecycle, including requirements engineering, software design, implementation, debugging, testing, and release. Experience providing technical guidance, conducting code reviews, and mentoring other developers is also expected.

This is a hands-on development position for an engineer who can independently drive embedded software development activities while collaborating with systems, hardware, validation, and customer engineering teams.

Work Arrangement: Full-time, onsite

Key Responsibilities

Requirements Analysis and Software Architecture

Analyze and interpret customer, system, and software requirements for automotive ECU/controller applications.

Develop software architecture, software requirements, detailed design specifications, and interface documentation.

Maintain requirements traceability throughout the software development lifecycle.

Translate system-level requirements into implementable software requirements and design solutions.

Participate in software architecture reviews, design reviews, and technical discussions.

Identify technical risks, dependencies, and design constraints early in the development process.

Embedded Software Development

Design, develop, and maintain automotive embedded software using Embedded C.

Implement low-level drivers, hardware interfaces, middleware, and application-layer software.

Develop software for automotive ECUs, controllers, sensors, actuators, and motor control applications.

Write efficient, reliable, and maintainable code that meets performance, memory, and real-time requirements.

Perform debugging, root-cause analysis, and software optimization at the source-code and controller level.

Follow established automotive coding standards, software design practices, and development guidelines.

Full V-Cycle Software Development

Own and contribute to the complete automotive embedded software development V-cycle, from requirements definition through software release.

Develop and review software architecture and detailed design in alignment with system requirements.

Perform coding, static analysis, code reviews, and unit-level verification.

Support software integration, hardware-software integration, and system-level verification activities.

Develop and execute unit tests and support integration, qualification, and validation testing.

Analyze test failures, identify software defects, and implement corrective actions.

Maintain traceability between requirements, design, implementation, and verification results.

Support software baselining, configuration management, build processes, and production releases.

Automotive ECU and Controller Development

Develop embedded software for automotive electronic control units and controller-based systems.

Work with communication protocols such as CAN and LIN.

Collaborate with hardware and systems teams to understand controller interfaces, peripheral drivers, and system behavior.

Support software development for applications such as airbag controllers, BMS, BCM, seating systems, actuator control, and motor control.

Ensure software meets functional, performance, reliability, and quality requirements.

Technical Leadership and Mentoring

Provide technical guidance to software developers and support design and implementation decisions.

Conduct code reviews and promote coding quality, software reuse, and maintainability.

Mentor junior engineers on Embedded C, software architecture, debugging, and development processes.

Communicate technical issues, risks, progress, and solutions to cross-functional teams and customers.

Take ownership of technical deliverables and drive issue resolution independently.

Cross-Functional Collaboration and Production Support

Collaborate with Systems, Hardware, Mechanical, Validation, Manufacturing, and Quality teams.

Participate in technical reviews, customer discussions, and program milestone meetings.

Support software releases, production launches, and issue resolution during product development.

Ensure deliverables meet program timing, quality, and customer requirements.

Required Qualifications and Experience

Bachelor's degree in Electrical Engineering, Electronics Engineering, Computer Engineering, Mechatronics Engineering, or a related engineering discipline.

10+ years of hands-on automotive embedded software development experience.

Strong and demonstrable Embedded C programming expertise.

Direct experience developing software for automotive ECUs or embedded controllers.

Proven experience across the complete software development V-cycle, from requirements analysis and architecture through coding, reviews, testing, and release.

Experience developing low-level drivers, middleware, and application-layer software.

Strong understanding of software architecture, detailed design, and requirements traceability.

Experience with CAN and LIN automotive communication protocols.

Experience with unit testing, software integration, debugging, and root-cause analysis.

Experience with software build, release, and configuration management processes.

Experience participating in code reviews and mentoring or providing technical guidance to other engineers.

Experience supporting automotive OEM or Tier 1 supplier development programs.

Strong problem-solving, communication, and technical documentation skills.

Preferred Qualifications

Experience with automotive controller applications such as Airbag ECU, BMS, BCM, Seat ECU, actuator control, or motor control.

Experience with Codebeamer, IBM DOORS, or Polarion.

Experience with IAR Embedded Workbench or similar embedded development environments.

Knowledge of RTOS and real-time embedded systems.

Familiarity with ISO 26262 Functional Safety, Automotive SPICE (ASPICE), and automotive software development processes.

Knowledge of APQP and automotive product development methodologies.

Experience with hardware-software interfaces and mechatronic systems.

Experience working with Tier 1 automotive suppliers and supporting OEM customer programs.

Ideal Candidate Profile

The ideal candidate is a hands-on automotive embedded software developer who combines strong Embedded C programming skills with ECU/controller development experience and ownership of the full software development lifecycle.

Candidates should demonstrate practical experience in requirements analysis, architecture, detailed design, coding, code reviews, debugging, verification, and release, along with the ability to guide other developers.

Candidates primarily focused on validation, testing, integration, infotainment, audio, navigation, or mobile application development are not the target profile unless they also have substantial hands-on Embedded C development and full V-cycle ownership experience.

Apply for this role →

← Back to all jobs