Distributed Systems Engineer - Cloud
Job Description
Summary
Do you love crafting elegant solutions to highly complex challenges? Can you intrinsically see the importance of every detail? At Apple, our compute team is responsible for designing and building the foundational pieces of our data center software. In this role, you will collaborate with engineers across Apple to build and deploy scalable, reliable, and high-performance batch cloud systems that support Apple’s research and development.
The Apple Service Engineering (ASE) team builds and provides systems and infrastructure that power Apple’s services (such as iCloud, iTunes, Siri, and Maps). Apple’s uniquely seamless hardware, software and services integration means that you will get to work with world-class engineers from a variety of fields to design and deliver products that our customers love. Our services have to scale globally, stay highly available, and "just work.” If you love designing, engineering, and running systems that will help millions of customers, then this is the place for you!
The Apple Service Engineering (ASE) team builds and provides systems and infrastructure that power Apple’s services (such as iCloud, iTunes, Siri, and Maps). Apple’s uniquely seamless hardware, software and services integration means that you will get to work with world-class engineers from a variety of fields to design and deliver products that our customers love. Our services have to scale globally, stay highly available, and "just work.” If you love designing, engineering, and running systems that will help millions of customers, then this is the place for you!
Description
The compute organization runs a multi-region, large-scale, in-house-developed, batch platform that empowers Apple’s R&D around the world. As a member of the control-plane team the distributed systems engineer will:
- Actively participate in the design and development of control plane components (scheduling, resource management, APIs, high-availability) for a large-scale multi-site cloud batch platform.
- Deliver essential new features using the platform runtime, storage, and networking capabilities.
- Write and review code, generate and review design documentation.
- Participate in software qualifications and rollouts to production clusters.
- Participate in a business-hours 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.
- Actively participate in the design and development of control plane components (scheduling, resource management, APIs, high-availability) for a large-scale multi-site cloud batch platform.
- Deliver essential new features using the platform runtime, storage, and networking capabilities.
- Write and review code, generate and review design documentation.
- Participate in software qualifications and rollouts to production clusters.
- Participate in a business-hours 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.
Minimum Qualifications
- BS/MS degree in Computer Science or related field
- Strong understanding of concurrency, parallelism, and distributed systems concepts.
- In-depth knowledge of algorithms and distributed system architectures.
Preferred Qualifications
- Fluency in Golang, Python, or similar languages.
- Experience developing and managing large-scale production systems.
- Familiarity with scheduling, batch, or cloud architectures.
- Experience with Kubernetes, postgresql, zookeeper, etcd.
- Interested in measuring, analyzing, and optimizing performance.
- Customer focused thinking and strong problem solver with attention to detail.
- Teammate with great interpersonal skills