DeveloperJobs.io
← Back to all jobs

Job Description

General Motors is looking for a Senior Software Engineer to design and lead embedded programming and bootloader software for microcontroller-based automotive ECU platforms. In this hybrid role based in Milford, MI, you will convert infrastructure and security requirements into detailed technical designs and integration plans, then help integrate and validate vendor bootloader components across GM infrastructure builds.

You will also investigate and resolve difficult boot and programming issues that span microcontroller hardware, security modules, and automotive communication stacks, using embedded debug tooling and logs. This position requires the ability to report to the local office as well as hands-on engineering depth across embedded development, automotive protocols, and build and release workflows.

Responsibilities

  • Design and lead embedded programming and bootloader software for microcontroller-based automotive ECUs supporting software-defined vehicle platforms.
  • Translate system-level infrastructure and security requirements into detailed programming and bootloader designs, including 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 programming and boot issues across microcontroller hardware, security modules, and communication stacks using embedded debug tools and logs.
  • Report to the local office.

Requirements

  • Bachelor's degree in Electronic Engineering, Electrical Engineering, Computer Engineering, Computer Science, or a related field.
  • 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.
    • Automotive communication protocols including CAN and Automotive Ethernet.
    • 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.

Technologies

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

Hybrid Work Policy

  • 3 days In-office, 2 days remote

Similar Jobs