A

Apple

Designs phones, computers and their operating systems

Machine Learning System Software Engineer

Systems Software EngineeringPosted on Nov 8
Full-timeSunnyvale, CA, USANo salary listedIn-person

About the Job

Requirements

  • A Bachelor of Science degree and at least 3 years of relevant industry experience.
  • Experience defining interfaces used by other teams or external developers, with attention to lifecycle, error handling, and forward compatibility.
  • Deep proficiency in C and C++ in large, production system software.
  • Understanding of runtime systems, including process and thread models, memory management, inter-process communication and remote procedure calls, and resource lifecycle.
  • Understanding of software-hardware interfaces, including registers, direct memory access, command queues, or similar accelerator interaction patterns.
  • Experience shipping production system software.

Responsibilities

  • Design and implement APIs for Apple's Neural Engine, defining how clients load, compile, schedule, and execute models on device.
  • Architect APIs that provide client control of model lifecycle management, memory allocation strategies, multi-model scheduling, and concurrent execution, ensuring the runtime scales with new hardware capabilities.
  • Collaborate with driver, firmware, and compiler teams to co-design the runtime-to-silicon interface, ensuring new hardware features are exposed with correct abstractions.
  • Profile and optimize end-to-end inference paths, identifying bottlenecks in scheduling, compilation, and inference execution.
  • Support clients in adopting APIs and ensure efficient integration.

Desired Qualifications

  • Experience building or extending machine-learning runtimes, inference engines, or accelerator driver stacks, such as TensorRT, ONNX Runtime, XLA, Metal, or Vulkan compute.
  • Familiarity with Swift, Rust, or another memory-safe systems language.
  • Familiarity with machine-learning model compilation pipelines and how runtime APIs interact with compiler outputs, including graph intermediate representations and compiled binaries.
  • Experience with multi-client runtime scenarios, including arbitrating hardware access, managing priority and quality of service, and handling client lifecycle such as connection, disconnection, and crash recovery.
  • Knowledge of neural-network inference, including operator execution, tensor memory layout, pipelining, and batching strategies.
  • Strong communication skills and experience working across framework, compiler, and hardware teams.

About the Company

Apple

Designs phones, computers and their operating systems

Apple designs and sells consumer electronics, from iPhone smartphones and Mac computers to tablets and wearable devices. Its operating systems manage apps and built-in functions for communication and work, while iCloud stores files and synchronizes data across devices. Customers buy additional digital services through subscriptions such as Apple Music and Apple TV, and developers distribute software through the App Store. Apple earns money from hardware sales, subscriptions and digital transactions, selling directly to customers and through retailers and mobile carriers around the world. It was founded in 1976 and has its headquarters in Cupertino, California.

Company size
10,001+
Company stage
IPO
Headquarters
Cupertino, CA
Founded
1976

Recently Posted Jobs

Explore more opportunities at Apple

See more jobs