[Skip To Content]

Staff Software Engineer, Compute Systems Software — Embedded Linux Platform

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

설명

The Vehicle Experiences Engine at GM is transforming how millions of people interact with their vehicles by building the software engines behind next-generation digital experiences. At the core of this transformation is the Compute Systems Software team — the group that delivers the foundational embedded platform for GM’s software-defined vehicles.

As a Staff Software Engineer, Compute Systems Software, you will lead the design, development, integration, and debugging of the embedded Linux platform that powers GM’s in-vehicle compute systems. You will work deeply across the Linux kernel, board support packages (BSPs), device drivers, boot and recovery paths, build systems, and core platform services on modern ARM-based SoCs.


You will help ensure that platform software is not only functional in the lab, but performant, diagnosable, recoverable, and maintainable across production vehicle programs.

You’ll report to the Software Engineering Manager, Compute Systems Software, and collaborate closely with partners across Android Automotive OS, multimedia, connectivity, systems frameworks, safety, validation, and vehicle programs. You will also work directly with our silicon vendors to bring up new platforms, resolve complex issues, and optimize platform capabilities for GM-specific use cases.

About the Role

This is a hands-on technical leadership role focused on embedded Linux and automotive compute. You will influence architecture and engineering practices across the platform while remaining close to the code, hardware, tools, and failure modes that determine real-world system behavior.
You will:

  • Own critical pieces of the compute platform, from kernel configuration and BSP integration to device drivers, boot and recovery, and low-level system services.
  • Build and maintain Yocto-based embedded Linux distributions and the pipelines that produce production images for multiple vehicle programs and hardware variants.
  • Harden boot, recovery, watchdog, and health-monitoring paths to improve platform robustness across hardware and software failure modes.
  • Lead complex debugging and root-cause analysis across hardware, bootloaders, kernel, drivers, middleware, user space, build infrastructure, and vehicle integration.
  • Automate repetitive engineering work with shell, Python, CI/CD tooling, developer-facing utilities and AI to improve the speed and consistency of diagnosis and delivery.
  • Partner with our silicon vendors to bring up new SoCs, integrate vendor deliverables, debug issues, and improve the quality and maintainability of upstream and downstream platform code.
  • Provide technical leadership through architecture reviews, design and code reviews, mentoring, cross-team debugging, and platform-wide engineering standards.

This role is hybrid, with regular onsite collaboration at a GM technical center, consistent with GM’s hybrid work guidelines for engineering roles.

Responsibilities

Embedded Linux platform development

  • Design, implement, and maintain Linux kernel modules, device drivers, BSP components, bootloader optimizations, device-tree configurations, and low-level system services for in-vehicle compute platforms.
  • Analyze system behavior across kernel and user space, with a strong focus on correctness, performance, diagnosability, and long-term maintainability.

Yocto, build, and release systems

  • Configure and extend Yocto-based embedded Linux distributions, including layers, recipes, machine configuration, image generation, and dependency management.
  • Own and refine build systems to produce deterministic, reproducible, scalable images across multiple programs, boards, and software variants.
  • Improve build and release pipelines through automation, caching, failure isolation, actionable diagnostics, and clear ownership of pipeline health.
  • Partner with CI/CD and validation teams to ensure that platform changes are continuously tested and regression-resistant.

Performance, optimization, and debugging

  • Profile and optimize CPU, memory, I/O, boot-time, power, and thermal behavior across the embedded stack.
  • Use low-level tools such as perf, ftrace, gdb, strace, kernel tracing, crash analysis, and custom instrumentation to diagnose issues spanning software and hardware boundaries.
  • Lead root-cause analysis rather than symptom mitigation, distinguishing transient failures, systemic defects, integration problems, and hardware or vendor issues.
  • Turn difficult-to-reproduce failures into deterministic tests, better diagnostics, or automated detection wherever possible.

Engineering systems and quality

  • Contribute to automated testing and validation strategies for platform software, including unit, integration, boot, stress, fault-injection, hardware-in-the-loop, and regression testing as appropriate.
  • Improve developer experience through self-service tooling, fast feedback loops, clear ownership, and well-documented platform workflows.
  • Use Git / GitHub and high-quality code review practices to maintain code quality, traceability, and disciplined change management across a multi-team environment.
  • Contribute to upstreaming and long-term reduction of downstream patches where practical.

Technical leadership and collaboration

  • Mentor engineers through design reviews, code reviews, hands-on pairing, and structured debugging.
  • Influence architecture and execution across Android Automotive OS, multimedia, connectivity, safety, systems, validation, and vehicle integration teams.
  • Communicate complex system behavior clearly to technical and non-technical partners, especially during high-severity issues and cross-team decisions.
  • Drive alignment on priorities, reliability risks, engineering standards, and ownership boundaries.

Vendor and cross-company partnership

  • Work directly with our silicon vendors to integrate BSPs and platform deliverables, resolve defects, and improve vendor engagement and issue turnaround.
  • Evaluate vendor code and recommendations critically, balancing time-to-integration with maintainability, performance, reliability, security, and upstream alignment.

Requirements

  • Bachelor’s degree in Computer Science, Electrical/Computer Engineering, or a related field; or equivalent practical experience.
  • 10+ years of professional experience in embedded systems, kernel-level, or platform software development, including delivery of production software in automotive or similarly complex embedded domains.
  • Deep expertise with embedded Linux on ARM-based SoCs, including several of the following:
    • Linux kernel subsystems, kernel configuration, scheduling, memory, storage, networking, power, or low-level system behavior.
    • Device-driver development, debugging, and hardware interaction.
    • BSP integration, bootloaders, board bring-up, device-tree configuration, and peripheral enablement.
    • Hardware abstraction and enablement for new boards, peripherals, and SoC platforms.
  • Strong hands-on experience with Yocto or a comparable embedded Linux build system, with a track record of shipping commercial embedded Linux deployments.
  • Demonstrated strength in system performance, optimization, and complex debugging, with the ability to lead root-cause analysis across hardware, kernel, drivers, middleware, and user space.
  • Exposure to Site Reliability Engineering (SRE) or production engineering practices, including observability, automation, incident response, and systematic post-incident improvement, applied to complex software platforms.
  • Strong experience with build systems and development tooling, including Make-based build flows, Git / GitHub, code review, CI/CD pipelines, automated testing, and release-quality engineering.
  • Strong proficiency in C, plus practical experience with Python and shell scripting such as Bash for automation, tooling, diagnostics, and debugging.
  • Demonstrated technical leadership through architecture direction, mentoring, design and code reviews, cross-team debugging, and driving execution across organizational boundaries.
  • Strong communication and collaboration skills, with the ability to influence technical decisions, align partner teams, and explain complex system-level topics clearly.
  • Experience working directly with silicon vendors or strategic platform partners such as Qualcomm to integrate deliverables, resolve issues, and optimize platform capabilities.

Desired Skills

  • Master’s degree in Computer Science, Electrical/Computer Engineering, or a related field.
  • Experience contributing to or upstreaming changes in the Linux kernel or related open-source projects.
  • Familiarity with Android Automotive OS, HAL integration, and multimedia pipelines such as audio, video, camera, and graphics.
  • Experience with crash analysis, platform diagnostics, telemetry, fault injection, or resilience testing.
  • Exposure to automotive safety concepts such as ISO 26262, ASIL, safety islands, watchdog architectures, and health monitoring frameworks.
  • Experience with secure boot, trusted execution environments, over-the-air updates, rollback, A/B partitions, or production recovery strategies.
  • Deep comfort working in Linux / UNIX command-line environments and using classic tools such as shell, core utilities, gdb, perf, strace, and kernel tracing.
  • Demonstrated technical leadership in mentoring peers, leading cross-team debugging efforts, and driving platform-wide improvements in reliability, performance, and developer experience.

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 compensation may not be representative for positions located outside of the California Bay Area.

The base salary range for this role is $217,000 and $275,000. The actual base salary a successful candidate will be offered within this range will vary based on factors relevant to the position.

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으로 전화주십시오. 이메일에, 귀하가 요청하는 특정한 숙소에 대한 설명과 귀하가 지원하는 직무와 채용 요청서 번호를 포함해주세요.