Experience in services or systems software development (e.g. in Golang, Rust, etc.)
Nice to Haves
Positive and respectful attitude in a diverse environment.
Exposure to distributed systems design and desire to grow in the space.
Ability to shift between engineering disciplines such as distributed systems, UIs, data pipelines, batch processing, etc.
Interest in tools and systems that support developing, building, testing, and releasing software.
Interest in solving developer productivity needs using new programming languages, software stacks, and hardware architectures.
Experience working closely with other developers to fit projects to their needs.
Launch fast and iterate approach to building software.
What You'll Be Doing
Build and maintain scalable and reliable systems that meet the needs of our customers.
Develop software tools to help teams at Apple run reliable services in domains including production observability, deployments, and overload protection.
Collaborate with development teams to identify and address system bottlenecks, performance issues, resource inefficiencies, scalability concerns, and opportunities for automation.
Engage with other teams to establish long-term relationships that include knowledge sharing.
Develop expertise and be given ownership over components critical to Apple’s success.
Help to design new ways to scale Apple’s distributed developer tools and services to ever-increasing problem sizes.
Have access to the engineers who create Apple’s full technology, tools, and operating systems stack.