iCloud Drive - Senior Software Engineer
Software and Services
The iCloud Drive team works at the intersection of software and services! We design and implement the software syncing documents for hundreds of millions of users every day, and providing these documents through applications and system services on iOS and macOS. That code is integrated deep into the OS, in a stack that ranges from the kernel to the servers, from the file system to the UI. You will help drive features and quality in a fast pace, high impact environment! The position entails responsibility for the quality of the user experience, the reliability, performance and stability of the system, the integrity of our users’ data, and the protection of their privacy. The challenge in this position is to deliver features while not compromising on any of these requirements.
- Long experience building low level, data intensive, complex systems such as file systems, distributed storage or replicated databases.
- Experience with protocol versioning, API versioning and data migration; capacity to design a system anticipating future evolutions.
- Programming skills: extensive experience in C, Objective-C or C+ +, familiarity with Swift.
- Comfortable working in a continually changing and dynamic environment and driving top issues to resolution.
- Capacity to break down a long term technical vision into incremental work.
- Capacity to plan, prioritise, drive coworkers to execute, report on progress and blockers.
- Appetite to challenge and revisit QA plans and engineering roadmaps continuously to deliver features aggressively and at the highest level of quality.
- History of shipping software on tight schedules.
iCloud Drive is a complex system with a wide user base of hundreds of millions of users who have learned to depend on it for their work and personal life. It’s far from being in maintenance mode, and we’re pushing an ambitious engineering roadmap with a lot of unresolved problems in areas such as sync, file system integration, data reliability, scalability, responsiveness, telemetry and future proofing. We are looking for a senior Software Engineer to take a major role on this team. The ideal candidate has a proven track record of getting up to speed in a large code base and quickly delivering features without regressing an existing user base. He or she will be independent and driven, learn quickly, have the presence to ask questions and clarifications to the team, the courage to challenge existing design decisions while keeping everyone on track with the existing feature plans. In six months to a year, it is encouraged that this engineer will understand the system well enough to fix complex bugs and implement features collaboratively, participate fully in planning and prioritization discussions, and contribute to the technical vision and roadmap of the team.
Education & Experience
MS CS/CE or equivalent experience.
- Proficient in English
- Experience working with telemetry and making data-driven decisions.
- Capacity to provide an executive summary about the state of a feature, giving a clear picture and diving into technical details as asked.