Internship - Distributed Build System
London, England, United Kingdom
Students
The SWE Developer Productivity organization builds technologies and tools to help software engineers at Apple to do the best work of their lives. The SDP Infrastructure team supports that mission by building innovative infrastructure and tools to provide engineers with capabilities to quickly & efficiently build and test their changes, supporting both the development lifecycle of their changes, as well as the end-customer product.
We are looking for an intern to join our efforts. You'll work on profiling, improving & extending large-scale novel build and distributed systems to meet the needs of Apple's operating system engineers. If you have an interest in system software, cloud services, or developer tooling, then we have many exciting problems to work on!
You would join a small, tight-knit group of engineers who build exciting new technology and have fun while doing so. We are applying unique and innovative ideas to old problems and welcome new contributors who are excited by the opportunity to significantly impact the shape and direction of our product.
Description
As an intern in SWE Developer Productivity, you’ll learn how Apple builds & releases software and you’ll be encouraged to research established distributed system techniques to apply to our unique domain in order to achieve high performance, reliability and long-term maintainability. You’ll have space to perform experiments, make recommendations, and ultimately changes, to our infrastructure to realise its full potential. You’ll then ultimately have a chance to present your work to our leadership team.
In your role as an intern on our team you will:
* Spend the majority of your time building distributed services & tooling in Swift, deploying frequently with Kubernetes & profiling changes with Xcode or distributed tracing tooling.
* Contribute to engineering a high-performance system through algorithm design, optimization, and performance testing, helping scale to ever-increasing problem sizes.
* Have access to the engineers who create Apple’s full technology, tools, and operating systems stack.
Here you’ll find that we:
* Provide a supportive, respectful, and balanced work environment.
* Value curiosity, and obsess over the customer experience.
* Have a wide range of experience, from new engineers to Apple veterans.
Minimum Qualifications
- Enrolled in a course of a related field, aiming towards a Bachelor’s degree or higher.
- Experience with high-performance, strongly typed languages such as Swift, Rust, C++, Scala, or others.
- Familiarity with distributed storage and/or distributed compute systems.
- Interest in distributed systems, reliability, and cloud services.
Key Qualifications
Preferred Qualifications
- Familiarity with cloud compute/storage technologies like Kubernetes and Cassandra.
- Familiarity with application and service monitoring tools and techniques.
- Familiarity with virtualisation/containerisation technology.
- Understanding of distributed systems’ problems & algorithms.