ForgeApply · Job listing
Staff Software Engineer, Compute Systems Software — Embedded Linux Platform
General Motors
See all 268 open roles at General Motors →
Tailor your resume for this General Motors job in about a minute.
ForgeApply tailors your resume and cover letter to this exact posting, then hands you a ready-to-submit application for General Motors's site. Free trial, no card required.
About this role
Job Description 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
Salary insight
This posting doesn't disclose pay. Across 8,556 San Francisco jobs with disclosed salaries on ForgeApply, the median is $200k.
See full Software Engineer salary data for San Francisco →
Based on live postings with disclosed pay on ForgeApply; refreshed daily. Not an estimate of this employer's offer.
Tailor your resume for this General Motors role before you apply.
Tailor my resume for this jobSimilar jobs
- Staff Software Engineer - Compute — Lambda · Bellevue Office
- Staff Software Engineer, Compute Reliability — Waymo · Mountain View, California, USA
- Senior Software Engineer, Embedded Linux — Nimblerobotics · San Francisco, CA
- Senior Software Engineer, Compute Platform — Coinbase · Remote
- Staff Software Engineer (Hardware Infrastructure) — Nebius · Remote
- Staff Embedded Linux Software Engineer — Terranorbitalcorporation · Irvine, CA
- Senior Platform Engineer (Embedded Linux) — Maticrobots · Menlo Park, CA
- Senior Embedded Software Engineer, Linux — Relativity · Long Beach, California, United States
More like this: Software Engineer Jobs · Software Engineer Jobs in San Francisco · Browse all jobs
Free ATS checker · No Salary on the Job Posting? How to Find the Number Before You Interview