Senior Software Engineer
General MotorsAbout the role
Job Description
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:
Title: Senior Software Engineer – Electrification, VMEC (Vehicle Mechatronics Embedded Controls)
Work Arrangement:
Hybrid: This full-time position does not require an employee to be on-site full-time to perform most effectively. However, this position requires an employee to be onsite at least three times per week.
The Role:
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.
What You'll Do:
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.
Minimum Skillset Required:
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
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s