Senior Software Engineer

General MotorsMilford, MI
Hybrid

About The Position

Our Mission: At General Motors, our product teams are redefining mobility. Through a human-centered design process, we create vehicles and experiences that are designed not just to be seen, but to be felt. We’re turning today’s impossible into tomorrow’s standard —from breakthrough hardware and battery systems to intuitive design, intelligent software, and next-generation safety and entertainment features. Every day, our products move millions of people as we aim to make driving safer, smarter, and more connected, shaping the future of transportation on a global scale. Job Description: As a Senior Software Engineer at GM, you will be a part of the Vehicle Mechatronic Embedded Controls (VMEC) team, working in the Battery and High Voltage (BHV) Agile Release Train (ART). Your focus will be on developing and delivering high-quality software solutions for embedded control systems, specifically for controlling vehicle’s high voltage (HV) battery management communications, sensing and processing for battery packs within GM’s EV portfolio. Your work will contribute directly to GM's vision of a world with ZERO Crashes, ZERO Emissions, and ZERO Congestion.

Requirements

  • BS in Engineering – Electrical, Mechanical, Computer, Computer Science or related field and technical discipline.
  • 5+ years of experience with proven technical and professional skills in embedded software development.
  • Strong background in system design, on board diagnostics (OBD) strategies, and control systems for embedded software applications.
  • Proficient in C, C++ programming and Python scripting.
  • Proficiency in testing strategies with hands-on experience in SiL, HiL, and/or Vehicle-Level testing frameworks.
  • Understanding of diagnostics (OBD) strategies, software verification, and validation methodologies.
  • Document designs, test cases, and results thoroughly.
  • Understanding and experience with SW testing environment.
  • High level of integrity, ability to deal with ambiguity, take initiative/self-directed.
  • Consistent demonstration of innovative thinking that is customer-centric and collaborative.

Nice To Haves

  • MS in Engineering, Computer Science, or a related technical discipline.
  • Strong knowledge of Battery Management Systems (BMS), including cell balancing concepts and ASIC integration within the overall system architecture.
  • Demonstrated system‑level understanding with the ability to translate ambiguous or incomplete requirements into well‑defined software designs, including on board diagnostic (OBD) design and implementation.
  • Strong embedded software development experience, including controller communications, On Board Diagnostics (OBD), and complex device drivers.
  • Solid proficiency in C programming with working knowledge of Python scripting.
  • Ability to assess system and diagnostic coverage, identify functional gaps, and drive solutions aligned with vehicle and program needs.
  • Understanding of regulatory requirements and the ability to flow them into compliant, scalable software designs and implementations.
  • Experience with automotive communication protocols and standards (e.g., CAN, LIN, Ethernet, ARXML) and adherence to MISRA guidelines.
  • Hands‑on experience with HIL, vehicle testing, debugging, and test case automation.
  • Solid software engineering fundamentals beyond coding, including scalable and portable design, modular architecture, and comprehensive testing strategies.
  • Experience with system requirements development and HWIO integration.
  • Experience working in Agile environments using standard development and collaboration tools (e.g., Git, Jira, SAFe).

Responsibilities

  • Design, develop, and deliver high‑quality embedded software for VMEC Battery Management Systems (BMS), supporting high‑voltage battery controls, wired communication, sensing, and processing.
  • Ensure SW deliverables are on time and with quality in support of Wired Battery Management Systems.
  • Ensure compliance with safety requirements, government regulations, and GM-internal policies (e.g., MISRA guidelines).
  • Apply strong software engineering principles (architecture, abstraction, design patterns) to create scalable, hardware‑agnostic solutions aligned with supervisory control architectures.
  • Translate system, physics, controls, safety, and regulatory requirements into robust, modular software designs, including diagnostic (OBD) strategies and controller communications.
  • Implement and validate software using automotive communication technologies (e.g., CAN, LIN, Ethernet, ARXML) and modern vehicle architectures.
  • Test & demonstrate software functionality & readiness, ensuring hardware agnostic solutions across all GM owned software.
  • Develop and maintain comprehensive diagnostics (On Board Diagnostics) to enable fault detection, isolation, validation, and field support across controller, system, and vehicle levels.
  • Document requirements for design solutions and link them to test cases that can demonstrate software functionality ensuring traceability.
  • Verify software functionality through automated testing, HIL, bench, and vehicle testing, ensuring traceability from requirements to test cases.
  • Contribute technical leadership within Scrum teams, providing guidance, code reviews, and mentorship to support team execution and software quality: foster collaboration and in inclusive environment.
  • Collaborate cross‑functionally with Systems & Safety, Validation, Electrical Architecture, SDV, Calibration, and Vehicle Performance teams to deliver integrated solutions.
  • Embrace software development methodologies to ensure Software Built In Quality, promoting early bug detection, and facilitating collaboration between developers, testers, and non-technical stakeholders.
  • Apply Software Defined Vehicle (SDV) and Service‑Oriented Architecture (SOA) principles to enable modularity, reuse, and long‑term platform scalability.
  • Leverage CI/CD and DevOps practices to promote built‑in quality, early defect detection, and efficient deployment.
  • Develop AI-driven diagnostics (On Board Diagnostics) and predictive analytics to enhance fault detection, prognostics, and anomaly detection within embedded control systems.

Benefits

  • An incentive pay program offers payouts based on company performance, job level, and individual performance.
  • medical
  • dental
  • vision
  • Health Savings Account
  • Flexible Spending Accounts
  • retirement savings plan
  • sickness and accident benefits
  • life insurance
  • paid vacation & holidays
  • tuition assistance programs
  • employee assistance program
  • GM vehicle discounts
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service