Apple’s Cassandra Integration team develops systems that are correct, 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 open source components of Apache Cassandra and it's growing official ecosystem, including authentication / authorization, control plane (Apache Cassandra Sidecar), bulk analytics (Apache Cassandra Analytics) and full featured, deep integrations inside and around Apache Cassandra’s massive ecosystem!
As a member of this team, you will build and evolve major components of the database.
THESE AREAS INCLUDE:
- Bulk Data Interchange
- Data and Control Plane Isolation
- Security and authorization
- Tenant isolation
- Traffic and load balancing
- Quota and rate limiting
...and many more.
Success in this role requires expertise in several of the following and desire to gain experience in others:
- 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).
- Software validation concepts (fault injection, property-based testing and model checking, workload replay, quality metrics).
- Strong cross-functional, cross field collaboration skills and penchant for delivering incremental value. Experience with Agile, Scrum and other methodologies is a big plus.
- This role also requires excellent communication, ability to partner with our Site Reliability peers, and a high degree of customer focus when engaging with internal platform customers. 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.