Machine Learning System Software Engineer
Apple
Apply to this jobAt Apple, we're on the cutting edge of delivering transformative experiences through Artificial Intelligence. If you're passionate about pushing the boundaries of AI and hardware optimization, we want you to join our team! As a Machine Learning System Software Engineer on the Apple Neural Engine (ANE) team, you'll work to bring high-performance, low-power AI solutions to life on iconic Apple products like the Vision Pro, iPhone, iPad, Mac, and more.
Description
This is a dynamic opportunity to work in a creative, collaborative environment while developing groundbreaking technologies that will shape the future of computing! We are looking for an engineer with deep expertise in system software technology who is eager to tackle new challenges and responsibilities as the role evolves. As the position progresses, there will be opportunities to demonstrate technical leadership, influence key design decisions, collaborate with and support other engineers, and help guide the direction of Apple's AI-driven capabilities across the ecosystem. Are you ready to help us deliver the next groundbreaking Apple products?
Minimum Qualifications
Experience defining interfaces that are used by other teams or external developers, with attention to lifecycle, error handling, and forward compatibility
Deep proficiency in C, C++, Swift or Objective-C with experience in large, production system software
Understanding of runtime systems: process/thread models, memory management, IPC/RPC, and resource lifecycle
Understanding of software-hardware interfaces: registers, DMA, command queues, or similar accelerator interaction patterns
3+ years shipping production system software; Bachelor's in CS, CE, or related field
Preferred Qualifications
Experience building or extending ML runtimes, inference engines, or accelerator driver stacks (e.g., TensorRT, ONNX Runtime, XLA, Metal, Vulkan compute, or similar)
Familiarity with ML model compilation pipelines and how runtime APIs interact with compiler outputs (graph IR, compiled binaries)
Experience with multi-client runtime scenarios: arbitrating hardware access, managing priority/QoS, and handling client lifecycle (ex: connect, disconnect, crash recovery)
Knowledge of neural network inference: operator execution, tensor memory layout, pipelining, and batching strategies
Strong communication skills and experience working across team boundaries (framework teams, compiler teams, hardware teams)
Summary
Develops system software for AI hardware, defines interfaces, and optimizes ML runtimes
Job title
Machine Learning System Software Engineer
Experience level
3+ years
Minimum experience
3+ years exp
Industry
technology
Location requirements
Sunnyvale; remote work not specified
Salary
Not specified
Management role
No
Required skills
Preferred skills
Specializations
Structured locations inferred from the posting.
Sunnyvale, CA, USA