Software Developer - Virtualization and SIL Integration
General MotorsAbout the role
Job Description
Work Arrangement:
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.
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:
We are seeking an early-career Software Developer to join the Virtualization and Software-in-the-Loop (SIL) Integration team within the Software Defined Vehicle – Embedded Platforms organization.
In this role, you will help design, build, and deploy Virtual Test Environments (CoSimulation Environments) at system and vehicle level to support development, verification, and validation of embedded controllers and calibrations across domains such as:
- Propulsion thermal management
- Battery management
- Chassis and brake controls
- Body electronics and controls (vehicle access, occupant comfort and protection, lighting, visibility, vehicle state)
What You’ll Do:
- Contribute to the development and integration of co-simulation components to satisfy end-user test requirements.
- Help create and maintain virtual controller models to be used across different simulations.
- Implement and test virtual controller components such as HWIO, RTOS, and communication models.
- Assist in obtaining, developing, and parameterizing sub-system models (sensors, actuators, ECU behavioral models).
- Collaborate with development engineers to understand new feature requirements, address issues, and ensure proper implementation in the virtual environment.
- Work with System Engineers to help define SIMBOMs (required co-simulation assets) based on test requirements.
- Support the integration of plant models and ECU models into dynamic virtual simulations.
- Contribute to documentation for each release, including model interfaces, assumptions, and usage guidelines.
- Provide first-line support for released simulations (basic troubleshooting, issue triage, and user guidance).
- Participate in continuous improvement of tools, scripts, and workflows, including opportunities to leverage Python, SQL, CI/CD pipelines, and cloud technologies.
- You will be part of an agile, cross-functional team that includes global partners and internal customers developing the next generation of virtual test capabilities.
Your Skills & Abilities (Required Qualifications):
- Bachelor of Science degree in Computer Science, Computer Engineering, Electrical Engineering, or related field
- 0 –2 years of software engineering experience, which may include
internships, co-ops, or significant academic/club projects. - Solid programming skills in Python, C/C++, Java, or Embedded C
- Familiarity with software development tools and practices, for example:
- Git or similar version control
- Issue tracking/Agile tools (e.g., Jira)
- Basic understanding of CI/CD concepts (e.g., Jenkins or similar)
- Coursework or experience in at least one of the following areas:
- Artificial Intelligence and Machine Learning
- Computer Security
- Data Structures and Algorithms
- Development of Web Application
- Strong problem-solving skills and the ability to break down complex technical problems into implementable steps.
- Effective verbal and written communication, with the ability to work in a collaborative, cross-functional team.
What Can Give You a Competitive Edge (Preferred Qualifications):
- Bachelor of Science degree in Computer Science, Computer Engineering, Electrical Engineering, or related field
- 5+ years of software engineering experience
- Exposure to modeling and simulation using tools such as MATLAB/Simulink.
- Experience with virtualization or software integration (e.g., integrating multiple services, APIs, or components into a cohesive system).
- Familiarity with automotive or real-time systems, including any of:
- Basic knowledge of CAN, LIN, SPI, or automotive Ethernet
- Understanding of embedded control systems and sensor/actuator interfaces.
- Experience with full-stack or backend development using technologies such as:
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s