Software Engineer, ASE Cassandra Storage

9 Hours ago • All levels • $143,100 PA - $264,200 PA

Job Summary

Job Description

The Software Engineer, ASE Cassandra Storage role at Apple involves developing storage systems that are correct, reliable, scalable, and fast. The team contributes to major components of Apache Cassandra, including query coordination, replication, persistence, transactions, compaction, and client messaging. Responsibilities include building and evolving database components such as traffic and load balancing, security, quota, and tenant isolation. The role requires expertise in system-level hardware, operating systems, datacenter architecture, distributed systems concepts, database concepts, performance engineering, and software validation. Strong communication and customer focus are also essential. Experience in distributed databases/storage systems is recommended.
Must have:
  • Fundamentals of system-level hardware and networking components
  • Operating systems concepts
  • Datacenter architecture
  • Understanding of distributed systems concepts
  • Understanding of database concepts
  • Advanced concepts such as failure detection and load balancing
  • Performance engineering
  • Software validation concepts

Job Details

Apple’s Cassandra Storage team develops storage 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 components of Apache Cassandra, including query coordination and execution, replication and persistence, transactions and consensus, compaction, client and internode messaging, and all other aspects of the database. As a member of this team, you will build and evolve major components of the database. These areas include: - Traffic and load balancing - Security and authorization - Quota and rate limiting - Tenant isolation Success in this role requires expertise in some of the following and ability 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). - 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.

Similar Jobs

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

Similar Skill Jobs

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

Jobs in San Francisco, California, United States

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

Similar Category Jobs

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

About The Company

Cupertino, California, United States (On-Site)

San Francisco, California, United States (On-Site)

Seattle, Washington, United States (On-Site)

San Diego, California, United States (On-Site)

Cupertino, California, United States (On-Site)

San Diego, California, United States (On-Site)

Austin, Texas, United States (On-Site)

New York, New York, United States (On-Site)

Cambridge, Massachusetts, United States (On-Site)

Austin, Texas, United States (On-Site)

View All Jobs

Get notified when new jobs are added by Apple

Level Up Your Career in Game Development!

Transform Your Passion into Profession with Our Comprehensive Courses for Aspiring Game Developers.

Job Common Plug