Apple systems have huge scale and store many exabytes of data. The Apple Object Store is a massive scale storage system that provides the foundation of data storage across Apple. The Apple Key-Value Store provides the metadata storage to make that happen, as well as supports other distributed Key-Value workloads within Apple Cloud platform.
We are building a distributed, ordered key-value database that handles millions of transactions per second to support critical infrastructural systems and frameworks. Cluster spans 1000s of SSDs/Nodes across large geographic regions.
– Strongly consistent distributed key-value store built using a custom distributed transaction log based on Raft/ZAB and using RocksDB as the storage engine.
– Distributed key-value store supports features like automatic repairs, shard splits, rebalances to name a few.
– Durability, availability, and performance are crucial.
– You will have the opportunity to directly impact the direction for the backend of many critical Apple internet services for years to come.
– You will also need to build working, collaborative relationships within our team and across teams at Apple. This engineer’s work will affect hundreds of millions of users and be essential to the success of some of the most visible current and future Apple features.
– We are looking for a passionate Software Engineer with experience in developing large-scale services and infrastructure to take a central role in designing and building our next version. Join our friendly, collaborative, highly-motivated team!
RESPONSIBILITIES WILL INCLUDE:
– Designing, building and maintaining the software and services to improve the feature set, availability, scalability and security of Apple’s internal cloud infrastructure. Collaborating with internal teams, including customer teams and the storage SRE team.
– Finally, we are looking for engineers that are focused on building testable, maintainable code.
BS in Computer Science, or equivalent experience.At least 10 years of experience building and operating software systemsAt least 5 years of experience building and operating distributed systems