General Motors Flash Programming Project Engineer (Autonomous Vehicle) - ENG0037755 in Warren, Michigan


The Flash Programming System Engineer will work with the Flash Programming Feature Owner to define and maintain a set of documents describing end-to-end features of ECU flash programming to be implemented for GM vehicles including Autonomous vehicles. The end-to-end features will include but not limited to obtaining the correct file from a remote server, preparing the vehicle for a programming event, interacting with the customer via in-vehicle displays and controls, and safely programming a target ECU. Each feature will have performance metrics defined to meet and/or exceed the customer’s expectations. Features will be reviewed for any potential vehicle hazards and where necessary mitigation strategies developed. Elements of features will be analyzed to determine the effects of failure modes and where necessary design controls identified and applied. The individual in this roll will collaborate with many cross-functional teams which may include on occasion one or more of these development teams: Vehicle Software Programming, Connected Customer Products, Vehicle User Interface Systems, Autonomous Vehicle Systems Engineering, and Cybersecurity. Team members will define feature requirements and communicate them to the appropriate stakeholders.


  • Develop Flash Programming System specification defining functional requirements, interfaces, and performance metrics for programming ECU software, calibrations, and applications.

  • Collaborate with Vehicle Software Programming Systems team members responsible for software release & delivery, programming clients, boot loaders, and software installation to coordinate requirement & interface development in their functional areas.

  • Create, maintain, and communicate a rollout plan for developing the Flash Programming System and deploying it into production meeting key milestones.

  • Host reviews with Cybersecurity and Functional Safety to assess that requirements and interfaces meet cross-functional requirements.

  • Support Validation in developing a Flash Programming System validation plan, test cases, and procedures.


  • 3-5yrs developing automotive system and/or sub-system requirements and interfaces for a collection of ECUs.
  • 5-7yrs experience developing and implementing automotive components utilizing GMW3110 or ISO14229 service routines over in-vehicle communication networks, CAN and/or Ethernet, supporting ECU flash programming applications.
  • Experience with system engineering fundamentals for developing automotive electrical systems requirements.
  • Experience in setting up and performing Design Failure Modes and Effects Analysis (DFMEA).
  • Knowledge of flash memory management and routing of information between ECUs across the vehicle architecture.
  • Proficiency with IBM Rational DOORs and Team Concert, Microsoft Word, Excel and Powerpoint.
  • Strong communication, collaboration, and project planning skills.
  • Greenbelt in DFSS.
  • Bachelors Degree in Electrical Engineering, Computer Engineering, Software Engineering, or Computer Science.


  • Experience authoring Feature Technical Specifications and deploying functions to system and /or subsystem components.
  • Working knowledge of IT systems, data management, storage and retrieval.
  • Working knowledge of ONSTAR programming requirements, implementation, and processes.
  • Knowledge of CAN, CAN FD, and Ethernet automotive serial data communication protocols.
  • Blackbelt in DFSS.
  • Masters Degree in Electrical Engineering, Computer Engineering, Software Engineering, or Computer Science.