Staff Software Engineer – Core OS, Vehicle Compute
General Motors
- Location
- Mountain View California United States of America
- Work model
- On-Site
- Level
- Staff
- H-1B history
- 267 approvals (FY2023)
- Posted
- Sep 17, 2026
Skills
About this role
Job Description
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 The Core OS group is a newly formed team standing up the operating-system foundation GM's software-defined vehicles run on: the virtualization and platform-services layer that lets embedded Linux, Android, and QNX share vehicle compute safely and efficiently. As one of the founding engineers, you'll set technical direction from a blank sheet across hypervisor integration, guest OS enablement, resource partitioning, the boot and secure-boot chain, container runtime, and the health and fault-management services that keep the platform reliable in production. The architecture you choose now becomes the platform every GM vehicle software team builds on, and getting it right means debugging across boundaries most engineers never cross — guest to host, software to silicon, between partitions with different safety requirements. What You’ll Do Own critica l hyperv isor and virtual machine capabilities, including virtual machine definitions, CPU and memory partitioning, device assignment and passthrough, and virtio-based device models. Design and optimize communication between virtual machines using shared memory, message passing, and virtualized input/output for throughput, latency, and deterministic behavior. Enable and mai ntain gu est operating systems across embedded Linux, including Yocto-based distributions, Android, and QNX, with consistent access to platform services, time synchronization, lifecycle control, interfaces, and developer tooling. Implement and optimize the boot and secure-boot chain across partitions, including startup sequencing, boot-time performance, and platform-integrity verification. Build platform services for resource governance, health monitoring, watchdogs, fault detection, fault handling, and recovery, while meeting automotive safety and availability requirements. Develop container-runtime and workload-management capabilities for in-vehicle applications, including isolation, resource limits, lifecycle management, updates, and rollbacks. Profile, optimize, and debug CPU, memory, input/output, and interrupt behavior across the virtualized stack. Lead root-cause analysis using traces, logs, and low-level tools to resolve issues spanning guest operating systems, hypervisors, firmware, and silicon. Improve engineering quality through continuous integration and continuous delivery (CI/CD), bench and hardware-in-the-loop (HIL) automation, validation strategies, Git and GitHub workflows, and code reviews. Mentor engineers and collaborate with silicon enablement, guest operating system, board support package (BSP), functional safety, and cybersecurity teams. Your Skills & Abilities (Required Qualifications) Bachelor’s degree in Computer Science, Electr ical E ngineering, Computer Engineering, or a related field; or equivalent practical experience. Ten or more years of professional experience in embedded, systems, or kernel-level software development, including production software in automotive or similarly complex embedded domains. Deep expertise in operating-system-level software on Arm-based system-on-chips (SoCs), with expe rience in several of the following areas: Hypervisor integration, virtual machine configuration, and device virtualization Real-time operating systems and deterministic scheduling Linux kernel subsystems, kernel