Linux Kernel Engineer
About the role
Join Apple’s Linux Kernel Engineering team to own the kernel lifecycle end to end, from CI infrastructure and automated validation to driver enablement, debugging, and production-quality releases. Collaborate with platform, infrastructure, and SRE teams to ensure kernels are stable, observable, and ready for real-world workloads at scale. Design, build, and operate CI and validation pipelines, triage kernel regressions, investigate crashes and performance issues, and qualify new hardware at the kernel layer. Port, maintain, and upstream device drivers, and shepherd kernel changes into production with a focus on quality, automation, and release discipline.
Responsibilities
- Own the kernel lifecycle end to end, from CI infrastructure and automated validation to driver enablement, debugging, and production-quality releases.
- Design, build, and operate CI and validation pipelines that compile, test, and release Linux kernels across multiple hardware platforms and Linux distributions.
- Lead triage of kernel regressions, investigate crashes and performance issues, drive fixes to resolution, and qualify new hardware at the kernel layer.
- Collaborate with engineers across Apple to port, maintain, and upstream device drivers, shepherd kernel changes into production, and raise kernel quality, automation, and release discipline.
- Ensure every kernel shipped is stable, observable, and ready for real world workloads at scale.
Qualifications
- Bachelor of Computer Science or equivalent skills and work experience.
- At least 5+ years experience developing or maintaining the Linux kernel or low-level system software (e.g., kernel modules, device drivers, or core OS components).
- Proven ability to debug kernel level issues (panics, hangs, performance regressions) using tools such as perf, ftrace, bpftrace, crash, gdb, or similar.
- Deep understanding of kernel tuning for stability and performance across many subsystem domains.
- Hands-on experience developing CI/CD systems integrating operating system components and managing kernel releases.
- Strong programming skills in C, plus proficiency in at least one of Rust, Go, Python, or Bash.
- Solid understanding of operating system fundamentals: processes, memory management, filesystems, networking, scheduling, interrupts, and hardware/driver interactions.
- Experience working in a RHEL based Linux environment, including RPM packaging and the RHEL kernel back port and release process.
- Strong collaboration and communication skills; comfortable working with cross-functional teams (SRE, platform, hardware, security).
- Proven track record of upstream contributions to the Linux kernel project or similar upstreams.
Skills
About Apple
Discover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device support.
Discover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device support.
More open roles at Apple
- Senior UI Software Engineer, Cocoa2d agoCupertino, CA · Software and Services
- AIML - Machine Learning Engineer, Visual Intelligence Technology2d agoHybrid (Cupertino/Santa Clara/SSeattle area (3 work locations)) · Visual Intelligence Technology
- Physical Design Methodology CAD Engineer2d agoHybrid (Sunnyvale, California), Hybrid (Austin, Texas) +3 more · Hardware Technology CAD team / Silicon Technologies group
- Sr. ML Optimization Engineer, ASE Efficiency2d agoHybrid (San Diego, CA) · Software and Services
- Sr. ML Optimization Engineer, ASE Efficiency2d agoHybrid (Seattle, WA) · Software and Services