Apple Cloud Services - Database Systems Engineer (Cassandra Storage)
London, Greater London, United Kingdom
Software and Services
Apple’s Cloud Infrastructure organization is seeking expert database systems engineers to join our Cassandra Storage team! Engineers in ACI Cassandra Storage develop and contribute to Apache Cassandra, an open source distributed database powering some of Apple's most critical internet services. You will be joining a team of experts, working at the groundbreaking of modern database technology, distributed systems and storage engineering. The team's work is deployed at massive scale, serving millions of queries per second over hundreds of petabytes of data across our datacenters worldwide. It also has huge impact, forming the platform upon which many iCloud and other internet services at Apple are built. In Apple Cloud Infrastructure, your work will benefit hundreds of millions of users and is critical to the success of some of the most visible current and future Apple features.
- Demonstrated expertise developing database systems, storage engines, distributed systems, or performance engineering.
- Experience developing critical internet services and/or platform infrastructure.
- Advanced understanding of data structures and algorithms in storage and indexing.
- Familiarity with mechanisms and algorithms for achieving consensus (Paxos, Raft, gossip, two-phase commit, etc).
- Proficient in modern Java and optionally Python.
- Experience developing software in open source communities a plus.
Apple Cloud Infrastructure Cassandra develops storage systems that are trusted, reliable, scalable, and fast. This work requires an innovative spirit and an extraordinary degree of care and rigor in engineering. Team members contribute to all major components of Apache Cassandra, including local query execution, persistence, replication and consensus, compaction, client and internode messaging, new feature development, and all other aspects of the database. Success in this role requires expertise in several of the following: • Fundamentals of system-level hardware and networking components (storage devices and controllers, network interfaces, CPU and memory layout in server-class systems). • Operating systems concepts (process scheduling, disk and network I/O, performance). • Datacenter architecture (networking topologies, host placement strategies, and failure modes); design of multi-datacenter systems; failure domains; and wide-area networking. • Understanding of distributed systems concepts (fallacies of distributed computing, CAP, FLP, etc). • Understanding of database concepts (consistency models, isolation levels, crash and recovery semantics). • Advanced concepts such as failure detection, smart clients, load balancing, request pipelining, speculation / retry policies, and operational semantics of high-throughput distributed systems. • Performance engineering (design concepts, profile-guided optimization). • Testing concepts (fault injection, property-based testing and model checking, workload replay, quality metrics). This role also requires excellent communication, ability to partner with our DevOps and SRE teams, and a large degree of customer focus when engaging with internal platform customers. As a distributed team, ability to work effectively with colleagues based in other locations is also essential; experience in this area is a plus. Prior experience with development of distributed databases / storage systems is recommended. Please reach out via the form below if interested. We are eager to hear from you!
Education & Experience
• BS or MS in Computer Science / related fields or equivalent work experience.
- • Experience crafting features in distributed storage systems from concept to execution.
- • Excellent written and verbal communications skills.
- • Ability to lead projects with meaningful scope.
- • Comfort and experience operating with a high degree of autonomy.
- • Organizational acumen and ability to prioritize effort accordingly.
- This role may require occasional international travel/transatlantic travel.
- Apple’s most important resource, our soul, is our people. Apple benefits help further the well-being of our employees and their families in meaningful ways. No matter where you work at Apple, you can take advantage of our health and wellness resources and time-away programmes. We’re proud to provide stock grants to employees at all levels of the company, and we also give employees the option to buy Apple stock at a discount — both offer everyone at Apple the chance to share in the company’s success. You’ll discover many more benefits of working at Apple, such as programmes that match your charitable contributions, reimburse you for continuing your education and give you special employee pricing on Apple products.
- Apple benefits programmes vary by country and are subject to eligibility requirements.
- Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Apple is committed to working with and providing reasonable accommodation to applicants with physical and mental disabilities.