This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
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. The Role The Electrification Solutions New Markets (ESNM) organization within Vehicle Mechatronic Embedded Controls, (VMEC), has an opening for an Embedded Software Engineer . ESNM is a start-up within VMEC that focuses on battery management, inverter, and electric motor solutions for non-automotive or unique automotive products. In this role, you will directly impact GM’s strategy to expand into new markets such as Autonomous Manufacturing, Mobile Power Generation Systems, Stationary Energy Storage Systems, Specialty Vehicles, Watercraft, and Locomotives! The VMEC ESNM team is seeking creative, highly motivated, agile problem solvers with passion and expertise in Embedded Controls and great attention to detail. The selected candidate will develop software and controls utilizing physics, supporting the growth of ESNM and emerging technologies
Job Responsibility
Create software for battery management, inverter, and electric motor system functions and perform integration and verification testing with minimal direction of lead engineers
Deliver scalable and modular software across all customers to enable a single software stream delivery
Document requirements for design solutions and link them to test cases that can demonstrate software functionality
Utilize automated test tools in build environments, benches, and products, to verify functionality of the feature
Analyze software defects
determine root cause, create software solution, test and verify closure
Performs design and analysis on changes
Diagnose, debug and solve issues related to battery, inverter, and electric motor hardware and software
Work with teams from multiple groups to meet project milestones
Develop test cases and write comprehensive test plans to assess software products at different system levels
Identify and resolve software problems
contribute to the team knowledge base so common software errors, corner case situations and other learnings can be retained and shared
Support the evaluation of software packages, including data reviews, simulation behavioral test, automation methods, and authoring/execution of comprehensive test plans to assess software and simulation products at different system levels
Requirements
BS in Computer Science, Computer Engineering, Electrical Engineering or other applicable Engineering focuses
2+ years of Embedded C software development experience
Experience developing, reading, and debugging source code in C, C++, Python
Understanding of one or more of the following: Batteries, Invertors, Supervisory Controls, or Electric Motors
Strong tools background in MATLAB/Simulink, DOORS, Git/Jira, and related GM controls toolchains is expected
Unit testing, SIL, HIL, bench, and vehicle testing
Nice to have
Master's Degree in Computer Science, Computer Engineering, Electrical Engineering or other applicable Engineering focuses
Knowledge of applied controls theory at the Battery, Inverter, or Electric Motor system level
Proficiency in Agile processes and built-in quality concepts such as Behavioral Driven Development, Test Driven Development, or Model Based System Engineering
Working knowledge of the software development process
Test automation (e.g., Jenkins), regression testing, and test procedure creation
Experience working in an Agile environment
Communication protocol and tool experience (Automotive Ethernet, CAN, LIN diagnostics, ETAS INCA, Intrepid NeoVI/VSpy, Lauterbach, Vector CANoe/CANape tools)