Machine Learning System Software Engineer
Apple · Sunnyvale, California, United States
Computers and Electronics Manufacturing · 10,001+ employees
About the role
You will develop high-performance, low-power AI solutions for Apple products by working on system software for the Apple Neural Engine. The role involves technical leadership, influencing design decisions, and collaborating across teams to guide Apple's AI-driven capabilities.
What they look for
Requirements
Candidates must have at least 3 years of experience shipping production system software and deep proficiency in C, C++, Swift, or Objective-C. A bachelor's degree in Computer Science, Computer Engineering, or a related field is required.
Full description
At 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)