System Software Engineer - Debug Technologies
Summary
Apple's Debug Technologies team in San Diego builds the in-system debugging and failure observability solutions that keep every Apple platform running reliably — from pre-silicon simulation through shipped products.
We're looking for software and firmware engineers with operating systems experience who want to work hands-on across the Core OS stack. You'll help shape how Apple diagnoses and resolves issues, both inside our development workflows and out in the field with customers.
Description
You'll develop silicon- and system-level features that make debugging and field failure diagnostics faster and more precise, build and improve low-level debugging tools, and strengthen the infrastructure that supports system-level debugging at scale. Your work will touch every phase of a system's life — from pre-silicon simulation and new silicon bring-up to systems already in customers' hands — and you'll help define future system architectures with observability and diagnosability in mind.
Responsibilities
- Write code and develop new operating system features that improve internal debugging experiences and customer crash diagnostics
- Debug and root-cause real-world failures alongside other engineers
- Recommend future system and software architectures with failure observability in mind
- Build and improve internal infrastructure to scale the capture, triage, and reporting of customer issues
- Interview candidates to help grow the team
Minimum Qualifications
- 3+ years working on operating system level features or equivalent experience
- Solid understanding of operating systems fundamentals
- Experience developing or debugging on embedded systems
- Proficiency in C, C++, or Swift programming
- Experience working with GenAI
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent experience/skills
Preferred Qualifications
- Strong communication and interpersonal skills
- Ability to navigate ambiguity and constraints as a self-starter