Internship - Software Engineer
Zurich, Zurich, Switzerland
Students
Do you want to make Siri and Apple products smarter for our users? Here in the Machine Learning Platform Technology & Infrastructure group we build groundbreaking technology for algorithmic search, machine learning, natural language processing, and artificial intelligence. The features we build are redefining how hundreds of millions of people use their computers and mobile devices to search and find what they are looking for. Siri’s universal search engine powers search features across a variety of Apple products, including Siri, Spotlight, Safari, Messages, Lookup, and more. As part of this group, you will work with one of the most exciting high performance computing environments on Apple’s search products, with petabytes of data, millions of queries per second, and have an opportunity to imagine and build products that delight our customers every single day.
Description
In this internship working on our search team you will collaborate with teammates that work at the intersection between quality and performance, getting exposure to the high performance components that serve our indexes for large amounts of traffic, working on retrieval infrastructure to improve relevance for users inside the constraints that come with a high throughput index serving infrastructure, designing and implementing retrieval augmented generation that is fed by our search systems.
Example of projects encompass:
* Streamlining onboarding and experimentation experience to our search systems to empower other teams to more efficiently use our components and iterate faster on their relevance improvements
* Developing tools to better understand the behavior of queries inside our components and help better understand opportunity areas
* Increasing the robustness and resilience of our search stack, working with chaos testing
* Optimizing throughput of the queries, analyzing how to let ranking engineers improve the relevance within the latency and budget envelope
Minimum Qualifications
- Experience developing backend services with at least one of the following programming languages: Go, Java, Python, Scala, C/C++, or Rust
- Background in computer science or similar, good knowledge of algorithms and data structures
- Exceptional interpersonal skills, with the ability to work independently and collaboratively within a team
Key Qualifications
Preferred Qualifications
- Familiarity with microservices, multithreading, or related technologies
- Exposure to information retrieval and machine learning applied to search
- Exposure to Retrieval Augmented Generation
- Exposure to the challenges of scalable backend infrastructure and performance, including diagnosing, analyzing, and resolving issues using profiling, debugging, and tracing tools