Software Engineer, iCloud Platform

Software Engineer, iCloud Platform

Imagine what we could do together. At Apple, new ideas have a way of becoming phenomenal products, services, and customer experiences very quickly. Bring passion and dedication to your job, and there's no telling what we could accomplish.Apple is looking for a Software Engineer to contribute to developing the next generation of iCloud Platform. You will help build and enhance key components of systems that enable new applications and experiences for millions of users. Whether working on privacy-preserving cloud infrastructure or media processing and content delivery systems, you will collaborate with world-class teams around the world who have a real passion for engineering and delivering features that maintain strong privacy guarantees to end users.

We are high-impact teams that design, build, and operate novel functionality across Apple's iCloud Platform. Our work spans privacy-preserving cloud compute infrastructure and media processing systems that enable many of Apple's signature apps and experiences. This work is crucial to the success of Apple's growth in services, enabling new features that will change the world.This role will take you beyond the systems and services you will find elsewhere. Privacy is paramount at Apple, and this role involves close collaboration with Privacy and Security teams. The ideal candidate will have a strong quality focus and be motivated by helping evolve services into reliable scalable systems.If you're passionate about building technology that protects users' privacy at cloud scale, bring a collaborative mindset, and want to work on problems that have never been solved before, we want to hear from you.

  • You'll work as part of teams developing groundbreaking architecture—leveraging relationships with colleagues in Apple Silicon, hardened Operating Systems, the memory-safe Swift language, anonymized networking, and much more. Our systems are distributed in nature, and you will gain experience reasoning about different failure models that may occur. You will be comfortable working with cross-functional partner teams to deliver the best outcomes.
  • Product development can be fast-paced, and requirements can change during rapid innovation cycles. You will have the opportunity to clarify requirements, taking risks where justified by the reward. You will be exposed to CI/CD, observability, and SLOs as part of building mature, reliable services. Learn to identify and prevent potential production issues proactively. When issues do occur, you will work with teammates to diagnose and resolve them quickly. This is not an operations role, but the job will provide second-level support when expertise is required, potentially out of hours.
  • This role offers excellent learning opportunities in distributed systems, scalability, and privacy-focused engineering.
  • At the Senior level, you'll independently solve complex problems within well-scoped areas, applying established patterns and practices while building deep technical expertise in your domain. You'll manage your parts of timelines and deliverables, and design solutions that advance the platform's capabilities.
  • You will bring a can-do attitude to get features shipped but be willing to defend good engineering practice—comprehensive testing, CI, and small regular changes—with the longer term in mind. Working from our London office, you will work a hybrid schedule—3 days in the office. Generally your days will split into two—with 2/3 of the day given to focus time for coding, pairing, and designing, and 1/3 for meetings to connect with colleagues in Cupertino.
  • You will be comfortable operating in a dynamic environment and working cross-functionally to achieve your goals. You will be a self-starter—unflustered by new technology or requirements that are nascent.
  • Foundation in Computer Science fundamentals - through experience or education
  • Programming proficiency in high-level languages—Swift is preferable, but other languages common in server-side ecosystems (Java, Go, Rust, C# etc.) are valued
  • Experience building and evolving reliable services at scale
  • Software engineering excellence—building reliable systems assured with comprehensive testing (unit, integration, system, performance)
  • Strong problem-solving and debugging skills
  • Experience with code review processes, collaborative development and familiarity with version control systems
  • Experience with Unix-like operating systems
  • Demonstrated ability to independently manage projects from design through delivery; strong technical depth in distributed systems or related areas
  • Communication - Skilled in cross-functional communication and collaboration
  • Experience solving complex problems across multiple layers of the stack
  • Designing and evolving application layer protocols for distributed systems—especially protobuf and gRPC, though HTTP REST and API design experience is helpful
  • Understanding of security techniques and technologies—e.g. certificates, software signing, attestation
  • Deep understanding of security and privacy technologies in distributed systems
  • Cloud - Knowledge of Kubernetes or other methods of automating and scaling cloud deployments, load balancing and traffic routing
  • Systems - Understanding of Linux or Apple OS fundamentals
  • Experience with cloud-scale infrastructure, observability, and operational excellence
  • Experience in the Media Streaming domain (Video formats, Codecs, HLS) is a plus
Back to blog

Other Jobs To Apply

No other job posts for this day.

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...