
Client Software Engineer - Private Cloud Compute
Required skills
- iCloud
- FaceTime
- Push Notifications
- iCloud Drive
- Photos
- Backup
- device-to-device encrypted storage
- protected computation
- CloudKit
- Cryptography
Nice to have
- Swift concurrency
- security
- event-based programming
- inter-process communication
- cross-functional environments
Role summary
Apple is seeking an experienced Senior iOS Software Engineer to join their Private Cloud Compute team. This role focuses on designing and implementing core components of the iCloud platform, enhancing security, privacy, and scalability for services like FaceTime, Photos, and iCloud Drive. The engineer will work on client-side cloud infrastructure, including device-to-device encrypted storage and protected computation. The position requires strong programming skills in Swift and/or Objective-C, experience with Apple Platforms, system-level frameworks, and client-server architectures. Collaboration with CloudKit, Cryptography, and Privacy teams is essential. The role involves low-level C/Objective-C programming and system-level design, emphasizing reliability and error recovery.
Description
On the client-side of iCloud services, our team is responsible for establishing the foundations of a secure and private cloud. This includes device-to-device encrypted storage in the cloud, protected computation, and other essential components. Apple’s commitment to privacy is deeply ingrained in our work, and this team is instrumental in extending this commitment to the cloud. This position requires close collaboration with the CloudKit team, as well as with several other teams working on server components and Apple’s Cryptography and Privacy teams. The role entails both low-level (C/Objective C, libdispatch, POSIX APIs) and system-level skills (synchronization protocols, framework design, IPCs, multi-process performance work, system-wide resource sharing). Reliability is paramount, and we seek engineers with a genuine passion for constructing complex systems that can seamlessly recover from errors.
Minimum Qualifications
5+ years of software engineering experience with strong programming skills in Swift and/or Objective-C Experience building on Apple Platforms (macOS, iOS, watchOS, tvOS, etc.) Experience working with and building system-level frameworks and APIs Experience working with client-server architectures and network protocols in a distributed system Proven track record of working on rapid development cycles and shipping software on tight schedules Excellent communication Bachelor's degree, or above, in an engineering-related field or equivalent related experience
Preferred Qualifications
Experience with Swift concurrency Experience with security, privacy, and cryptography concepts Experience with event-based programming and/or inter-process communication is a plus Ability to build relationships in highly cross-functional environments
Sample Apple interview questions
- 1
Design a typeahead box for a search engine
system designmedium - 2
Design a rate limiter
system designmedium - 3
Architect a key-value store for distributed systems.
system designmedium - 4
Design a system to schedule jobs in a distributed environment
system designmedium - 5
What is an API and how does it work?
technicalmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
Shipping SupervisorApple · Santa Clara, CA · Onsite
Senior Data Engineer, Data ProductsApple · Cupertino, CA · Onsite
Client Software Engineer - EA Sports™ FCMotive Studio · Vancouver, BC · Hybrid- Platform Software EngineerFord Motor Company · Dearborn, MI · Hybrid
- Director - Software EngineeringKodiak Solutions · Remote · Remote
- Sr Software Engineer IAmerican Express Company · Phoenix, AZ · Hybrid
