FoundationDB infrastructure is BIG. Operating at our scale, across multiple geographically dispersed data centers and servicing hundreds of millions of users presents unique challenges. As an SRE at Apple, you'll need to solve these problems using data, teamwork, and your own expertise. SREs at Apple own the full infrastructure stack; from device driver performance debugging to content delivery network traffic management — our responsibilities are both broad and deep.
FoundationDB runs its systems on Linux. We run a mix of open source, vendor licensed, and internally developed tools to perform functions such as system configuration management, provisioning, software deployment, logging, and monitoring. You'll learn these tools and have opportunities to improve them. Our team is collaborative; we work closely with the development teams we support to deliver the best results for Apple. We think critically and strive to balance the best solution with the need to get things done for each engineering challenge we face. Good ideas are heard and results are rewarded.
FoundationDB SRE is a small team with huge scale. We serve as the database for much of CloudKit's use cases, including Mail, Contacts, and Keychain. We serve hundreds of millions of customers every day and are a fundamental piece of the Apple device experience.
Minimum Qualifications
Strong sense of ownership and integrity demonstrated through clear communication and collaboration
Experience in managing and scaling distributed systems in a public, private, or hybrid cloud environment
The ability to design, author, and release code in languages like (but not limited to) Go, Java or Python
Acute drive to automate manual operations and to improve them through repeated iteration
Understanding of the Linux Operating System, standard networking protocols, and components
Hands-on experience managing large numbers of diverse systems with configuration management or software delivery platforms (such as Puppet, Chef, Ansible, and Spinnaker)
Experience with deploying, supporting and monitoring new and existing services, platforms, and application stacks
Excellent troubleshooting and problem solving skills
Experience with scale testing, disaster recovery, and capacity planning
Familiarity with microservices architecture and container orchestration with Kubernetes
Preferred Qualifications
Hands-on experience managing large numbers of diverse systems with configuration management or software delivery platforms (such as Puppet, Chef, Ansible, and Spinnaker)
Experience with deploying, supporting and monitoring new and existing services, platforms, and application stacks
Excellent troubleshooting and problem solving skills
Experience with scale testing, disaster recovery, and capacity planning
Familiarity with microservices architecture and container orchestration with Kubernetes