Apple logo

Staff iOS Software Engineer — CloudKit

Apple
Full-time
On-site
San Diego, California, United States
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. As part of this role, you will: • Work with adopters to craft clear APIs • Work with the network and file system stacks to build performant system daemons • Work with our server counterparts to design scalable features and protocols • Implement core components of the cryptographic protection of cloud data


  • 7+ 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


  • 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