EngineerJobs.io
← Back to all jobs

Job Description

General Motors is seeking a Senior Software Engineer to design and lead embedded programming and bootloader software for microcontroller-based automotive ECU platforms. The role focuses on turning infrastructure and security requirements into detailed designs and integration plans, followed by hands-on integration, configuration, and debugging across complex hardware and communication stacks.

Role Overview

You will build and guide embedded and bootloader development for automotive ECUs supporting software defined vehicle platforms. Responsibilities include integrating vendor bootloader components into GM infrastructure builds, configuring secure boot and update mechanisms, and diagnosing complex boot or programming issues that span microcontroller hardware, security modules, and communication interfaces.

Key Responsibilities

  • Design and lead embedded programming and bootloader software for microcontroller based automotive ECUs supporting software defined vehicle platforms.
  • Convert system level infrastructure and security requirements into detailed programming and bootloader designs, along with integration plans.
  • Integrate and configure vendor bootloader and basic software components into GM infrastructure builds, including flash programming flows, secure boot, and update and rollback mechanisms.
  • Analyze and debug complex boot and programming issues across microcontroller hardware, security modules, and communication stacks using embedded debug tools and logs.
  • Be able to report to the local office.

Required Qualifications

  • Bachelor’s degree in Electronic Engineering, Electrical Engineering, Computer Engineering, Computer Science, or related field of study.
  • Five (5) years of experience as a Software Engineer, Product Engineer, or related occupation.
  • Five (5) years of experience with embedded C and C++ development for microcontroller based systems.
  • Experience with automotive communication protocols including CAN and Automotive Ethernet.
  • Experience with diagnostic and programming protocols including UDS and XCP.
  • Three (3) years of experience with bootloader and ECU programming software, including flash erase/write flows, memory layout, and software update and recovery.
  • Experience using version control and CI/CD tools, including Git and Jenkins, for build, integration, and release of embedded software.
  • Experience debugging embedded software using hardware debuggers, emulators, and logic or trace tools.

Work Location and Hybrid Schedule

Location: Milford, MI (hybrid). Hybrid work policy requires 3 days in-office and 2 days remote.

Technical Skills

  • Embedded C, Embedded C++
  • CAN, Automotive Ethernet
  • UDS, XCP
  • Git, Jenkins

Similar Jobs