CloudKit Client - Software Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted:
Role Number: 200080166
The CloudKit team works collaboratively with other software teams to provide the best service integration on iOS, macOS, tvOS and watchOS devices. Hundreds of millions of iPhone, iPad, Apple Watch, Apple TV and Mac users rely on our code to sync and back up their data when they’re on the move.

Key Qualifications

  • Strong programming skills and 3+ years of experience in C, Objective-C or Swift
  • History of shipping software on tight schedules
  • Experience with database performance work, parallelism, event-based programming, inter-process communication

Description

We work on the client-side of the iCloud services, building the CloudKit and NSUbiquitousKeyValueStore APIs and their backing daemons on all Apple platforms (iOS, macOS, watchOS, tvOS). This job requires 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 essential, and we’re looking for engineers with a real passion for building complex systems that will seamlessly recover in the event of errors. We’re passionate about both junior and senior engineers. In this role you will: - Work with adopters to craft clear APIs - Work with the network and file system stacks to build performant daemons - Work with our server counterparts to design scalable features and protocols The challenges include: - Scalability - Reliability - Power and performance

Education & Experience

Bachelor of Computer Science, Computer Engineering or equivalent

Additional Requirements

  • Familiarity with sync, backup, diff and merge algorithms, network performance work
  • iOS and Mac OS X development tools including Xcode, Instruments, git
  • Self-starter, self-motivated, independent, and dedicated
  • Proven ability to work on a large project