Hybrid: This means the successful candidate is expected to report to their primary location (Milford, MI) three times per week, at minimum.
Relocation:
This job may be eligible for relocation benefits
The Role:
The Vehicle Motion Embedded Controls is a production level group that supports the definition, design, and development of all embedded controllers that impact vehicle motion. Our Scrum teams work in an Agile framework and are responsible for Software Requirements, Software Development, Testing and Verification.
We are seeking creative, highly motivated, agile thinkers with passion and expertise in controls and software with great attention to detail. As a Software Engineer at GM, you will be working in the Vehicle supervisory controls domain developing amazing customer facing features such as Driver mode control, Driver requests, Range select, Speed control features like One Pedal drive, Regen on demand, Cruise control, Adaptive cruise control, Regen on demand ,Vehicle operating modes, related communications, & protocols to enable safe and desired driver experiences.
What You’ll do:
- You will design, implement, and test software solutions deployed across GM’s vehicle portfolio.
- Design, develop and implement controls software and diagnostic algorithms for GM’s current and next generation vehicle portfolio.
- Work closely with multi-disciplined engineering teams to interpret functional requirements to translate and implement appropriate control and software strategies.
- Create and integrate software in hand-coded C, occasionally in MATLAB Simulink models.
- Create or modify Unit test cases and Multicomponent test cases to ensure thorough software testing.
- Leverage GM’s virtual systems, benches, and vehicles to verify and validate systems behaviors and performance.
- Works cross-functionally with Product, System, Calibration, Program, and other agile release train teams to ensure robust design.
- Participate in the Agile Team and Agile ceremonies as required.
- Embrace BDD (Behavior Driven Development) and TDD Test-Driven Development) software development methodologies to ensure Software Built-In Quality, promoting early bug detection, and facilitating collaboration between developers, testers, and non-technical stakeholders.
- Utilize CI/CD pipelines for efficient development, testing, and deployment of software solutions, with an understanding of DevOps principles