Apple Technology/Software

Software Engineer, Apple Services Engineering

Seattle, WA In person Full-time

We are looking for an experienced Software Engineer to help develop the next-generation of Apple’s cloud services infrastructure. You will be working on CloudKit, Apple’s foundational privacy-focused database platform, which securely stores users’ data and seamlessly keeps it synchronized across all their Apple devices.

CloudKit manages data at a massive scale! It is a strongly-consistent database of structured data that serves billions of active Apple customers. Considered the bedrock of iCloud, it is purpose built to be performant, highly available, and extremely scalable. CloudKit is a framework designed to the highest standards of user privacy that not only empowers developers to build highly collaborative and secure applications but is also the storage foundation for Apple’s signature cloud experiences, such as Photos, Drive, Notes, Keynote, News, and many third-party applications!

We are a world-class team who has a real passion for engineering and delivering high quality services to Apple’s customers. As a key member of a versatile organization, you will introduce new fundamental capabilities that will help power entirely new applications and scale existing ones.

We are looking for engineers who have exceptional expertise in building fault-tolerant distributed systems. Our engineers demonstrate unique leadership skills and can excel in a complex environment that obsesses about the customer experience.

Design, develop, and support a multi-tenant platform with many underlying technologies

Partner with teams across Apple to develop and ship new customer-facing features

Drive end-to-end project execution, from design reviews and through production releases

Deploy, scale, and maintain highly concurrent and throughput-intensive services

Triage, investigate, and remediate production and operational issues

3+ years of industry experience developing software in Java, C, or C++

Experience working with distributed NoSQL and relational database technologies

Expertise in synchronous and asynchronous network application I/O frameworks

Expertise in programming in concurrent and multi-threaded environments

Industry experience building and operating large-scale multi-tiered distributed systems

Bachelor’s degree in an engineering-related field or equivalent related experience

Strong background with KV data stores, e.g., FoundationDB, DynamoDB, or Cassandra

Strong fundamentals in storage systems, e.g., schema design, indexes, and transactions

Familiar with high-performance caching mechanisms, e.g., Redis or Memcached

Familiar with event streaming and queueing systems, e.g., Kafka

Experience using AWS, GCP, and cloud-native technologies (Containers, Kubernetes, gRPC)

Experience with TLS, X.509 certificates, or similar security and cryptographic protocols

Job description provided by Apple.
View the original posting