Hybrid: This role is categorized as hybrid. This means the successful candidate is expected to report to Milford, Michigan three times per week, at minimum.
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 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 contactors and energy management 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 :
-
Deliver high-quality software for embedded controls systems in the electrification space, specifically for VMEC - High Voltage Battery, Wired/Wireless Communication and Sensing (WCSR)
-
Ensure SW deliverables on time and with quality in support of Wired and Wireless Battery Management Systems.
-
Ensure compliance with safety requirements, government regulations, and GM-internal policies (e.g., MISRA guidelines).
-
Adhere to good software design principles, utilizing design patterns and understanding supervisory controls architecture and hardware abstractions for effective software solutions.
-
Design, develop, and implement Physics and Controls requirements to continuously improve software for mechatronic controls, diagnostics strategies, and controller communication.
-
Maintain an understanding of Ethernet standards and its application and automotive communication protocols like CAN, LIN, ARXML.
-
Test & demonstrate software functionality & readiness, ensuring hardware agnostic solutions across all GM owned software.
-
Document requirements for design solutions and link them to test cases that can demonstrate software functionality ensuring traceability.
-
Utilize automated test tools in build environments, test benches, and vehicles to verify functionality at the Controller, System, and Vehicle level.
-
Lead and provide guidance to your Agile Scrum team members, fostering a collaborative and inclusive environment.
-
Coordinate with various departments outside your organization such as Systems & Safety, Validation, Electrical Architecture, Software Defined Vehicle (SDV), Calibration, and Vehicle Performance.
-
Embrace software development methodologies to ensure Software Built In Quality, promoting early bug detection, and facilitating collaboration between developers, testers, and non-technical stakeholders.
-
Familiarize and work efficiently with Software Defined Vehicle (SDV) and Service Oriented Architecture (SOA) principles, leveraging them to create optimized and modular software solutions.
-
Utilize CI/CD pipelines for efficient development, testing, and deployment of software solutions, with a solid understanding of DevOps principles.
Your Skills & Abilities (Required Qualifications):
-
BS in Engineering – Electrical, Mechanical, Computer or BS in Computer Science.
-
5+ years of experience with proven technical and professional skills in job-related area – embedded controls software.
-
Proficient in C, C++ programming and Python scripting
-
High level of integrity, ability to deal with ambiguity, take initiative/self-directed.
-
Consistent demonstration of innovative thinking that is customer-centric and collaborative.
-
Experience with Battery Management Systems Software, keen problem-solving capabilities and issue resolution tracking.
-
SW Testing experience HiL, SiL, Vehicle, etc.
What Will Give You A Competitive Edge (Preferred Qualifications)
-
MS in Engineering, Electrical, Mechanical, Computer or Computer Science.
-
8+ years of experience with proven technical and professional skills in job-related area – embedded controls software.
-
Expert in C Programming Language
-
Python Scripting
-
Experience with JIRA, GIT, Rhapsody, Optimus and Scaled Agile Framework.
-
Experience with controller communication, diagnostics, and complex device drivers.
-
Familiar with MISRA guidelines.
-
Knowledge and experience with CAN, LIN, ARXML, or Ethernet communications protocol.
-
Proficient with software architectures.
-
Hands on Experience with HiL and Vehicle Testing and debugging. Aptitude for test case automation.
-
System requirements aptitude.