Software Engineer, Safari Continuity

Apple Inc.
Cupertino, United States of America
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Cupertino, United States of America

Tech stack

API
C++
Databases
Data Structures
Software Debugging
Sync (Unix)
Human-Computer Interaction
ICloud
Inter-Process Communication
Object-Oriented Software Development
SQLite
WebKit
Multithreading
Swift
Objective C++

Job description

Millions of people move between their iPhone, iPad, Mac, and Apple Vision Pro every day and expect Safari to keep up: the tab they opened this morning waiting for them tonight, the article they were reading restored right where they left off. The Safari Continuity team makes that happen, and we're looking for an engineer to help us make it even better. You'll own the sync protocols, persistence layers, and system services that keep a person's bookmarks, tabs, history, and sessions in sync across every device, through every restart, upgrade, and migration. It's challenging systems work with real problems in performance at scale, privacy-preserving sync, and the kind of reliability users never have to think about. You'll work closely with WebKit, iCloud, Security and Privacy, and Apple's Human Interface group to build experiences that are fast, trustworthy, and genuinely delightful. If you enjoy hard distributed-systems problems and care about the details that make a product feel effortless, this is a great place to make an impact., As an engineer on Safari Continuity, you'll design and maintain the data structures, APIs, and persistence layers that store and vend Safari's bookmarks, tabs, history, and sessions, along with the CloudKit-backed infrastructure that keeps them consistent across a customer's devices. You'll harden tab and session restoration so nothing is lost across restarts, upgrades, and migrations, and tune it all for performance, battery, and low iCloud overhead. We believe privacy is a fundamental human right, so you'll build that belief into everything you ship, including end-to-end encryption for the data our customers entrust to us.

Requirements

  • Thorough understanding of Swift, Objective-C, C++, or C
  • Strong object-oriented programming and design experience
  • Excellent debugging and analytical skills, * Ability to thrive in a highly collaborative environment focused on learning
  • Excellent communication skills
  • Experience with databases (SQLite), sync frameworks (CloudKit), and system daemons (XPC)
  • Experience with system concepts including multi-threaded processing, synchronization, and interprocess communication
  • Experience maintaining legacy code and backwards compatibility, with a track record of replacing legacy code with new implementations in non-disruptive ways
  • Specific experience defining and driving data structures, APIs, sync protocols, or persistence layers for cross-device or cross-session features
  • Familiarity with privacy-preserving design and end-to-end encryption

Apply for this position