General Motors is looking for a Software Design Engineer to design, implement, test, and refine embedded control software for their next-generation engine and transmission platforms.
Requirements
- Strong proficiency in C programming, C++ or Python and embedded development workflows.
- Understanding of unit testing, integration testing, and verification strategies for embedded systems.
- Knowledge of Simulink, MATLAB, DOORS, GIT environment(s); plant modeling and/or analysis tools.
- Familiarity with version control (e.g., Git), change management, and continuous integration.
- Demonstrated knowledge of software quality processes and testing standards.
- Calibrations experience
- Systems Engineering
Responsibilities
- Lead development of embedded controls software utilizing Lean-Agile principles
- Implement software for the controls and diagnostics of all new engine and transmission systems and features using innovative design thinking and leveraging state-of-the-art technology.
- Implement, test, and maintain production software using C, Simulink, and auto-generated code—ensuring adherence to GM software quality standards (SSQA).
- Develop and maintain high-quality Software Design Documents (SDDs) and Software Implementation Records (SIRs).
- Own and refine software unit, POD-level, and Solution-in-Isolation tests; maintain strong test coverage and traceability.
- Support Behavior Driven Development (BDD) and Test Driven Development (TDD) through high-quality acceptance criteria and test cases.
- Drive software quality with a focus on robustness, maintainability, and MISRA compliance.
Other
- Minimum 2+ years Engineering experience with proven technical and professional skills in job-related area
- Strong problem-solving skills, attention to detail, and commitment to technical excellence.
- Effective communication and collaboration skills, with ability to present complex technical content clearly.
- Demonstrated ability to lead technical efforts and mentor junior team members.
- Ability to work in a fast-paced environment with sometimes incomplete/changing requirements.