Embedded Software / Firmware Engineer - Automotive MCU & SoC

Fiat Chrysler Automobiles N.V.
Auburn Hills, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Auburn Hills, United States of America

Tech stack

Abstraction Layers
Automation of Tests
Unit Testing
Compilers
Communications Protocols
Computer Programming
Computer Engineering
Software Debugging
Software Design Documents
Linux
Device Drivers
Embedded Software
Ethernet
Firmware
Failure Mode Effects Analysis
FreeRTOS
Hardware Security Module
Joint Test Action (IEEE Standards)
Multipoint Control Unit
MISRA C (C Programming Language)
Network Protocols
Performance Tuning
Software Architecture
Real-Time Operating Systems
ISO/IEC 15504
Software Requirements Analysis
Software Systems
System on a Chip
System Programming
Systems Integration
TCP/IP
Virtual Machines
Scripting (Bash/Python/Go/Ruby)
Software Modules
PIC Microcontroller
Test Scripts
Reliability of Systems
Lauterbach Debugger
Integration Tests
Information Technology
Automotive
U-Boot
Canoe Software

Job description

As an Embedded Software / Firmware Engineer, you will be responsible for designing, developing, integrating, and optimizing software solutions for automotive Microcontroller Units, System-on-Chip platforms, and ECU hardware platforms. You will work closely with hardware engineers, system architects, validation engineers, suppliers, and software developers to implement firmware and software components that meet functional, performance, safety, and quality requirements for automotive ECUs., Design, implement, and maintain software modules, device drivers, and low-level software for automotive MCU and SoC platforms while ensuring compliance with industry standards and engineering best practices.

Embedded Firmware Development Develop embedded firmware for automotive ECUs, including startup code, peripheral drivers, board support packages, hardware abstraction layers, and low-level platform software.

RTOS Integration Integrate real-time operating systems such as FreeRTOS, Zephyr, or similar RTOS platforms into MCU and SoC software architectures to support multitasking, real-time scheduling, and deterministic system behavior.

Linux, QNX BSP, and Android Guest OS Enablement Port, customize, and enable Board Support Packages for Linux, QNX, and Android-based automotive platforms. Support Android guest virtual machine enablement where applicable.

SoC Peripheral and Interface Enablement Enable and validate key SoC interfaces, including display, audio, camera, Ethernet, CAN, LIN, serial interfaces, and other automotive I/O functions.

System Performance Optimization Perform system performance profiling, debugging, and optimization to improve boot time, runtime performance, resource utilization, and system stability.

Communication Protocol Implementation Implement and support automotive communication protocols and networking stacks, including CAN, LIN, Ethernet, TCP/IP, UDP, and Automotive Ethernet.

Integration and Testing Collaborate with hardware, systems, and validation teams to integrate software components with ECU hardware platforms. Conduct unit testing, integration testing, debugging, and validation to ensure software reliability and functionality.

Automated Test Tool Development Develop and maintain GUI-based automated testing tools to support test control, automation scripting, data acquisition, result visualization, reporting, and validation workflow efficiency.

Documentation and Compliance Create and maintain software design documents, interface specifications, test plans, test reports, and compliance documentation. Ensure alignment with automotive software development standards such as MISRA C, ISO 26262, and ASPICE.

Requirements

  • Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related technical field.
  • Minimum of 8 years of experience in embedded software, firmware, MCU, or SoC development for automotive applications.
  • Proven experience developing embedded software for automotive ECUs.
  • Strong programming experience in C and C++ for embedded systems.
  • Experience with MCU and SoC platform bring-up, low-level software, device drivers, HAL, BSP, and peripheral enablement.
  • Familiarity with automotive communication protocols and interfaces, including CAN, LIN, Ethernet, camera, display, and serial interfaces.
  • Experience with RTOS platforms and embedded software development tools, including compilers, debuggers, IDEs, and tracing tools.
  • Experience with GUI-based automated testing tool development, including test control, automation scripting, data acquisition, and result reporting.
  • Knowledge of automotive software development processes and standards, including ISO 26262 and ASPICE.
  • Strong problem-solving skills and attention to detail, with the ability to analyze complex system requirements and implement robust software solutions.
  • Effective communication skills with the ability to collaborate across hardware, software, systems, validation, supplier, and program teams., * Experience with automotive functional safety concepts and methodologies, including software FMEA, safety analysis, and safety mechanism implementation.
  • Familiarity with embedded security principles, including secure boot, cryptographic algorithms, secure communication, and hardware security modules.
  • Knowledge of automotive networking protocols and standards, including TCP/IP, UDP, and Automotive Ethernet.
  • Experience with automotive development and validation tools such as Vector CANoe, CANalyzer, Lauterbach, JTAG debuggers, or similar tools.
  • Experience with Linux, QNX, Android Automotive, hypervisors, or virtualized automotive software environments.
  • Understanding of software-defined vehicle architectures and emerging automotive technologies, including connected vehicles, autonomous driving, electrification, and centralized compute platforms.

Critical Character Traits for Success:

  • Curiosity to ask the right questions and challenge assumptions.
  • Ability to expand both technical depth and cross-domain breadth.
  • Ability to grow into adjacent technical domains and system-level ownership.
  • Ability to own feature design, implementation, integration, and issue resolution.
  • Self-starter mindset with the ability to work independently with minimal supervision.
  • Ability to communicate effectively in complex technical and cross-functional scenarios.
  • Willingness to develop as a mentor and support the growth of other engineers.
  • Ability to work in a team environment as both a team player and task leader.
  • Respect for the customer and supplier relationship while building strong technical partnerships.

About the company

Build your brand. Tell your story. Take advantage of a rare opportunity to start from the ground up and help build something great. We are looking for technology game changers to lead Stellantis through a fundamental transformation in the automotive industry. Technology will significantly disrupt the automotive industry over the next decade, and our organization is seeking high-potential candidates who can help transform the company with a strong focus on customer experience. Stellantis's Software Organization was created to build the most captivating experiences in the latest frontier of automotive technology.

Apply for this position