Staff Software Engineer - Flash Programming

General Motors7 months ago
Milford, Michigan, United States
Hybrid
Full-time
Junior Level (1-3 years)

Job Description

Position Overview

Staff Software Engineer – Flash Programming. We are seeking a highly skilled and motivated engineer to join GM Software & Services in the Diagnostics Hardware and Software department. In this hybrid role, the candidate will report to the Global Technical Center in Warren (MI) or Milford Proving Ground in Milford (MI) at least three times per week. You will be the subject matter expert responsible for architecting and designing diagnostic software solutions and interfaces for GM vehicle electrical systems, including meeting the requirements of the Software Defined Vehicle (SDV) architecture, programming, and cybersecurity standards.

Key Responsibilities

  • Lead wired programming software architecture development and define high-level flash programming system applications, components, and interfaces.
  • Develop the Service diagnostic tool roadmap for Flash programming and coordinate technical tasks across internal and cross-functional teams.
  • Technically lead software initiatives for Diagnostics Hardware and Software and manage architecture diagrams/plans.
  • Review and approve Engineering Change Requests impacting GM Service diagnostic tools/software globally.
  • Collaborate with global teams including cybersecurity, product SDV engineering, service, suppliers/vendors, joint ventures, and special projects to deliver effective technology solutions.
  • Communicate technical issues and decisions clearly to management.

Required Qualifications

  • Bachelor’s degree in Electrical, Software Systems, Computer Science, Computer Engineering, or related field.
  • Proven expertise in C/C++, C#, Java, and Python (with C++ highly preferred) and extensive experience in software development for diagnostic applications.
  • Over 7 years of software development experience, with a strong focus on diagnostic software applications and tools.
  • Experience in diagnostic strategy, software architecture, and Object-Oriented Programming.
  • Knowledge of vehicle serial data protocols such as CAN (ISO15765), UDS (ISO14229), DoIP (ISO13400), GMLAN, SAE J1850, and KWP2000.
  • Experience with vehicle communication logs, CAN bus loggers, Wireshark, and understanding vehicle electrical architecture systems and standards.
  • Strong analytical, problem-solving, and root cause analysis skills with effective technical communication in English.
  • Proven track record in successful project execution, collaboration, and multi-functional communication.

Preferred Qualifications

  • Master’s degree in Software Engineering, Computer Science, Computer Engineering, or related field.
  • Black Belt DFSS Certification.
  • Experience in embedded software development, Flash programming, and PC-based software development.
  • Familiarity with GM’s Global Diagnostics Tool (GDS 2), Service Programming System (SPS 2), and vehicle Ethernet networking.
  • Background in Service Engineering, Manufacturing Engineering, or a related area.

Benefits & Perks

  • Company Vehicle: Upon successful motor vehicle report review, you will be eligible to participate in a vehicle evaluation program with an assigned General Motors vehicle. (Note: Participants must purchase/lease a qualifying GM vehicle every four years unless exceptions apply.)
  • Relocation Benefits: This position may be eligible for relocation benefits.
  • Hybrid work arrangement ensuring in-person collaboration at designated centers.

Required Skills

Diagnostic Software Development
Flash Programming
Cross-functional Collaboration
Software Architecture
C#
C++
Python
Problem Solving
Embedded Systems
Java
CAN / UDS / DoIP Protocols