[Skip To Content]

Staff Software Engineer – Core OS, Vehicle Compute

  • 위치
    • Lynnwood, Washington
    • Mountain View, California
  • 직무 유형 Full time
  • 게시됨
  • Job Requisition JR-202620206

설명

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 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. 

Your Skills & Abilities (Required Qualifications)  

  • Bachelor’s degree in Computer Science, Electrical Engineering, 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 experience 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 configuration, and low-level system behavior 

  • Bootloaders, secure boot, and platform startup sequencing 

  • Experience delivering commercial embedded systems using Yocto or comparable embedded build systems. 

  • Strong experience with system performance, optimization, and complex debugging, including root-cause analysis across hardware, firmware, hypervisors, kernels, and user space. 

  • Experience with build systems and development tools, including Git, GitHub, CI/CD pipelines, automated testing, and release-quality engineering for platform software. 

  • Strong proficiency in C and C++, plus practical experience with Python and shell scripting for automation, tooling, and debugging. 

  • Demonstrated technical leadership through architecture contributions, mentoring, design reviews, code reviews, and cross-team execution. 

  • Strong written and verbal communication skills, with the ability to influence technical decisions and explain complex system-level topics clearly. 

What Will Give You a Competitive Edge (Preferred Qualifications)  

  • Master’s degree in Computer Science, Electrical Engineering, Computer Engineering, or a related field. 

  • Hands-on experience with hypervisors such as Gunyah, QNX Hypervisor, Xen, or KVM/Arm, including virtio device model development. 

  • Experience with QNX Software Development Platform (SDP), Android Open Source Project (AOSP), Android Automotive, or Yocto as guest environments on virtualized platforms. 

  • Experience with automotive functional safety, including ISO 26262, Automotive Safety Integrity Levels (ASIL), freedom from interference, safety islands, or health-monitoring frameworks. 

  • Experience with automotive cybersecurity, including ISO/SAE 21434. 

  • Experience with container runtimes such as Open Container Initiative (OCI)-compliant runtimes, Podman, or systemd-based isolation in resource-constrained environments. 

  • Familiarity with trusted execution environments, secure-boot chains, and key management on embedded platforms. 

  • Experience with Rust in systems or safety-relevant contexts. 

  • Strong command-line experience in Linux or UNIX environments, including tools such as GDB, perf, ftrace, strace, and hypervisor-level tracing. 

  • Contributions to open-source virtualization or operating-system projects. 

Compensation: The compensation information is a good faith estimate only. It is based on what a successful applicant might be paid in accordance with applicable state laws. The salary range for this role is $160,200–$330,400 . The actual base salary a successful candidate will be offered within this range will vary based on factors relevant to the position, as well as the geography of the selected candidate.

Bonus Potential: An incentive pay program offers payouts based on company performance, job level, and individual performance.

Benefits: GM offers a variety of health and wellbeing benefit programs. Benefit options include medical, dental, vision, Health Savings Account, Flexible Spending Accounts, retirement savings plan, sickness and accident benefits, life insurance, paid vacation and holidays, tuition assistance programs, employee assistance program, GM vehicle discounts, and more.

이 직무는 하이브리드 직무로 분류됩니다. 즉, 선발된 지원자는 특정 근무지로 주 3일 이상(또는 관리자가 지정한 다른 빈도로) 특정 근무지로 출근해야 합니다.

이 직무는 리로케이션 혜택을 받을 수 있습니다.

다양성 정보

General Motors는 법적으로 금지된 차별을 배제하는 것은 물론 포용성과 소속감을 진정으로 장려하는 직장이 되기 위해 노력하고 있습니다. 당사는 다양성이 보장되는 환경에서 직원들이 역량을 발휘하고 우리 고객을 위한 더 좋은 제품을 개발할 수 있다고 믿습니다. 따라서 입사에 관심 있는 사람이 있다면 포지션별 주요 업무와 자격을 확인하고 본인이 보유한 기술과 능력에 부합하는 모든 포지션에 적극적으로 지원하기를 장려합니다. 지원자는 채용 과정에서 역할 관련 평가(해당하는 경우) 및/또는 채용 전 스크리닝을 통과해야 합니다.  자세한 정보는 GM 채용 과정 안내를 참고하십시오.

공평한 취업 기회 선언 (미국)

General Motors는 공평한 기회를 제공하는 고용주임을 자부합니다.  자격을 만족하는 지원자는 인종과 피부색, 성별, 성적 지향, 성별 정체성, 국적, 장애, 재향 군인 보호법 적용 여부와 상관없이 채용 후보로서 심사를 받습니다. 

숙소 (미국 및 캐나다)

General Motors는 장애인을 포함한 모든 구직자들에게 취업 기회를 제공합니다. 구직이나 취업 지원에 도움이 되는 합리적인 숙소가 필요한 경우 [email protected]으로 이메일을 보내시거나 800-865-7580으로 전화주십시오. 이메일에, 귀하가 요청하는 특정한 숙소에 대한 설명과 귀하가 지원하는 직무와 채용 요청서 번호를 포함해주세요.