General Motors-posted 3 months ago
Hybrid • Milford, MI
5,001-10,000 employees
Transportation Equipment Manufacturing

Here at General Motors, we are looking for a hard-working person who enjoys taking on challenges and following through with robust solutions to join our Controls and Software team! Software Design Engineers work closely with controls engineers, systems engineers, and stakeholders across the organization to design, implement, test, and refine embedded control software for our next-generation engine and transmission platforms. The selected candidates will collaborate within and across engineering teams to define, design, implement, and test software to be used in our latest engine and transmission products. These engineers will work side by side with controls design engineers to create and adapt new methods for our upcoming projects. These team members will be part of agile scrum teams comprised of both software and controls engineers. The software design engineers have the following specific responsibilities, and are also encouraged to learn and participate in as much of the controls development process as possible.

  • 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.
  • Partner with Controls Design Engineers (CDEs), Systems Engineers, and Architects to support the development of functional and software architecture, ensuring traceability and alignment with program requirements.
  • Collaborate with SSLEs to create scenarios and define Behavioral Technical Specifications (BTS) for features and subsystems.
  • 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.
  • Participate in and help lead algorithm FMEA development to identify and mitigate software-related failure modes.
  • Contribute to feature breakdown into stories and tasks; ensure understanding of acceptance criteria and Definition of Done for assigned work.
  • Support or assist the Scrum team as required in implementing cohesive, efficient, testable and sustainably maintainable software components.
  • Collaborate closely with the Scrum Manager and Scrum Leader to deliver features on time, raising issues proactively when delivery risks are identified.
  • Mentor and coach engineers on best practices in embedded software development; support onboarding and rotation efforts.
  • Partner with calibration and validation teams to ensure software delivers required performance across all operating conditions.
  • Actively participate in design reviews, retrospectives, and demos; present solutions and improvements to peers and leadership.
  • Champion internal initiatives like refactoring, technical debt reduction, and innovative process improvements.
  • Document Intellectual Property.
  • Participate in scrum and ART ceremonies.
  • Strong proficiency in C programming, C++ or Python and embedded development workflows.
  • Propulsion experience (Chassis, Brakes, Steering).
  • Understanding of unit testing, integration testing, and verification strategies for embedded systems.
  • DFSS Black Belt Certified.
  • BS in Electrical Engineering, Mechanical Engineering, Computer Engineering, Computer Science or other applicable Engineering focuses.
  • Minimum 2+ years Engineering experience with proven technical and professional skills in job-related area.
  • 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.
  • 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.
  • Analytical problem-solving skills where problems are unusual and difficult.
  • Demonstrated honesty, integrity, and trust. Lead by example.
  • Calibrations experience.
  • Systems Engineering.
  • MS in Engineering with focus on software or computer science.
  • 5+ years Engineering experience with proven technical and professional skills in job-related area.
  • Demonstrated Engine or Transmission Controls or Software Development Experience.
  • Knowledge of integration testing.
  • Knowledge of Behavior Driven Development and Test-Driven Development.
  • Experience with GM Embedded Controls Development Process.
  • Knowledge of SAFe / Agile development, SCRUM ceremonies, and backlog management.
  • Hands-on experience with Behavior Driven Development (BDD) and Test Driven Development (TDD).
  • Familiarity with automotive diagnostics, calibration tools (e.g., INCA/ETAS), and standards like OBD-II and ASIL.
  • Experience mentoring engineers.
  • Understanding of engineering theory and principles of operation of mechanical/electrical mechanisms.
  • Technical achievements in related areas (patents, trade secrets, SAE papers, etc).
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service