
Software Development Engineer, Compute Platform
Required skills
- Go
- Python
- C++
- Distributed Systems
- Operating System Fundamentals
- Large-scale infrastructure
- Quantitative Analysis
- Production Data
- Kubernetes
- Slurm
Nice to have
- Compute Platform
- Capacity
- Efficiency
- Performance
- Utilization
- Oversubscription
Role summary
Apple Services Engineering (ASE) is seeking a Software Development Engineer for their Compute Platform team. This role involves developing data-driven features for a large-scale batch-focused compute platform that runs millions of jobs daily. You will own features end-to-end, from data analysis and model building to production serving and measurement. Responsibilities include implementing changes across the stack, designing production validation, diagnosing prediction issues, writing code and documentation, and collaborating with customers and partner teams. The role requires strong programming skills in languages like Go, Python, or C++, working knowledge of distributed systems and OS fundamentals, and experience instrumenting and analyzing large-scale infrastructure data. A BS in Computer Science with 3+ years of experience is required.
Description
In this role, you will develop, debug, and maintain data-driven features of a large-scale batch focussed compute platform. You will: * Own features end to end that turn job behavior into decisions the platform acts on — from the initial data analysis through the model or heuristic, the APIs, production serving, and the measurement that proves it worked * Implement your own changes across the stack, from platform services and control plane paths down to node-level resource limits and configuration * Design and run validation in production: shadow mode, staged rollouts, explicit success metrics, and a rollback plan * Have full ownership for the decisions your models make. When a prediction misbehaves, diagnose it, bound the impact, and help fix the system that trusted it * Write and review code, generate and review design documentation * Engage directly with customers and partner teams on their compute needs: understand their workloads, analyze cluster utilization and capacity, and turn that analysis into demand forecasts, node pool configuration and quota decisions that balance customer demand against fleet efficiency * Bring quantitative analysis to open questions across the team — sizing, planning and prioritization decisions where good data changes the answer * Participate in software qualifications and rollouts to production clusters * Participate in an on-call rotation where engineers respond to platform issues for same-day resolution * Work with a wide range of software and hardware engineering teams across Apple to support their workflows or integrate their technology into our platform * Hold yourself and others to a high quality standard expected of Apple products
Minimum Qualifications
Strong programming skills in a general-purpose language (Go, Python, C++, or similar), and demonstrated ability to design, debug, and test complex software systems Working knowledge of distributed systems and operating system fundamentals Experience instrumenting large-scale infrastructure and analyzing the data it produces — reasoning quantitatively about how CPU, memory, I/O or network consumption behaves and how it scales — and turning that analysis into a decision or a measurable improvement in production Comfort reasoning quantitatively about production data — distributions and tails, not just averages — and about the risk a wrong estimate creates for a running workload Track record of owning a project from an ambiguous problem statement through production Strong communication and organizational skills, including the ability to work directly with customers and to make quantitative results legible and actionable for people who are not data specialists BS in Computer Science / related fields and 3+ years of experience or MS with 1+ years of experience or PhD
Preferred Qualifications
Experience building or operating a large-scale compute platform with responsibility for its capacity, efficiency, or performance Experience improving utilization on a production platform — right-sizing requests from historical usage, oversubscription, bin packing, co-locating batch alongside latency-sensitive work, or reclaiming unallocated capacity. Comparable work on Kubernetes VPA, on runtime or demand prediction feeding an HPC scheduler, or on an in-house equivalent is equally relevant Experience characterizing workloads at fleet scale, for example grouping jobs into behavioral classes or building the telemetry to do so Experience shipping a model or heuristic that made automated decisions in production, and owning the outcome Experience with forecasting, regression, or uncertainty estimation applied to operational time series Experience modelling how a system's resource consumption scales — for example projecting the network, storage or I/O demand created by growing a compute footprint — and using that to inform capacity or sizing decisions Experience with Kubernetes / Slurm or a comparable batch scheduling system
Sample Apple interview questions
- 1
Design a typeahead box for a search engine
system designmedium - 2
Design a rate limiter
system designmedium - 3
Architect a key-value store for distributed systems.
system designmedium - 4
Design a system to schedule jobs in a distributed environment
system designmedium - 5
What is an API and how does it work?
technicalmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
- Ingénieur(e) sénior SDET / Senior Software Development Engineer in TestSide · Montreal, QC · Hybrid
Software Development Engineer in Test II (SDET II)Verisk · Jersey, NJ · Hybrid- Staff Software Development Engineer, Marine & RV/CampingStorable · Seattle, WA · Hybrid
Software Development Engineer III - LoyaltyExpedia Group · Seattle, WA · Onsite- Senior Software Development Engineer in TestVaricent · Remote · Remote
Software Development EngineerCVS Health · Scottsdale, AZ · Hybrid
