Staff Software Engineer – Core OS, Vehicle Compute
About 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.
Responsibilities
- Own critical hypervisor 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 maintain guest 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.
Requirements
- Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, or