Software Engineer (Distributed Systems, Java)
Apple · London, England, United Kingdom
Computers and Electronics Manufacturing · 10,001+ employees
About the role
The engineer will be responsible for the full development lifecycle of systems powering Apple's personalization features for services like Music and Podcasts. This includes designing, implementing, and scaling global-scale dynamic data systems to serve millions of customers.
What they look for
Requirements
Candidates must have proven experience in designing and scaling Java-based systems and a strong understanding of distributed systems and data structures. An undergraduate degree in computing or equivalent professional experience is required.
Full description
The Apple Services Engineering team is one of the most exciting examples of Apple’s long-held passion for combining art and technology. We are the people who power the Apple TV, Apple Music, Apple Music Classical, Apple Podcasts, and Apple Books. And we do it on a massive scale, meeting Apple’s high expectations with high performance to deliver a huge variety of entertainment across multiple countries and languages.
Thanks to Apple’s unique integration of hardware, software, and services, engineers here partner to get behind a single unified vision. That vision always includes a deep commitment to strengthening Apple’s privacy policy, one of Apple’s core values. Although services are a bigger part of Apple’s business than ever before, these teams remain small, nimble, and cross-functional, offering greater exposure to the array of opportunities here.
Description
The Apple Services Engineering team is looking for great engineers to build and improve features and services driving Podcasts, Apple Music, Apple Music Classical and more.
Our team is responsible for many of the key systems powering personalisation features of Apple services. This includes personalised podcasts and music experiences. Here you have a phenomenal opportunity to help build and evolve global-scale, leading-edge dynamic data systems, with positions currently available as we grow our amazing London team.
We are responsible for the full development lifecycle (system design, implementation, continuous optimisation and improvement). We build systems that serve millions of customers across countries.
We promote innovation and new technology to further improve our creative output. If you’re an all round and performance-savvy Java server engineer with an interest in, and experience of, large scale data technologies and systems we’d love to hear from you.
Minimum Qualifications
Ability to communicate effectively, demonstrating problem-solving skills and a learning attitude Proven experience in designing, implementing and scaling systems and services in Java Demonstrable knowledge of algorithms & data structures Understanding of distributed systems and data storage concepts Undergraduate degree related to computing or equivalent experience in Java core programming is required
Preferred Qualifications
Collaborating with multiple teams for delivering projects and features Making critical architectural decisions that have long-term impact on success