Summary
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 FoundationDB Record Layer, Appleās open source relational database, which is built on top of the FoundationDB key-value store and powers CloudKit.
CloudKit is a foundational privacy-focused 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 it 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.
Description
We are looking for engineers with a passion for developing world class, highly scalable, and resilient database systems with a particular focus towards ensuring quality, performance, and correctness. Particular areas of focus involve transaction and concurrency management, query language, planning and optimisation as well the design and development of custom storage, indexing, and search structures.
About
Our engineers demonstrate unique leadership skills and can excel in a complex environment that obsesses about the customer experience. As a software engineer in FoundationDB, you will:
Design, develop, and support a extremely multi-tenant relational database
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
Minimum Qualifications
Bachelor's degree in Computer Science, Software Engineering, or an equivalent degree.
Experience developing software in Java, C, or C++
Experience working with distributed NoSQL or relational database technologies
Extensive experience with debugging and profiling.
Expertise in programming in concurrent and multi-threaded environments
Industry experience building and operating large-scale multi-tiered distributed systems
Preferred Qualifications
A solid understanding of relational databases, SQL, and query planning and execution.
Strong fundamentals in storage systems, e.g., schema design, indexes, and transactions
Familiar with high-performance caching mechanisms, e.g., Redis or Memcached
At Apple, weāre not all the same. And thatās our greatest strength. We draw on the differences in who we are, what weāve experienced and how we think. Because to create products that serve everyone, we believe in including everyone. Therefore, we are committed to treating all applicants fairly and equally. As a registered Disability Confident employer, we will work with applicants to make any reasonable accommodations. Apple will consider for employment all qualified applicants with criminal backgrounds in a manner consistent with applicable law. Learn more