ASE Cassandra Storage – Database Systems Engineering Manager
People at Apple don’t just build products — they craft the kind of experience that have revolutionized entire industries. The diverse collection of our people and their ideas inspire innovation in everything we do. Imagine what you could do here! At Apple, new ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish!
Apple is seeking an experienced engineering manager to lead a new team in our Cassandra Storage organization.
Apple’s Cassandra organization develops and contributes to Apache Cassandra, an open source distributed database powering many of Apple's most critical internet services. You will be joining, building, and leading a team of experts working at the cutting edge of modern database technology, distributed systems, and storage engineering. The team's work is deployed at massive scale. It also has big impact, providing the storage platform upon which many iCloud, Media, and other internet services at Apple are built. Your work will benefit all users of Apple products and is critical to the success of current and future offerings.
Apple’s Cassandra organization 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 leader in this organization, you will build, manage, and grow a team responsible for major components of the database. These areas include traffic and load balancing, security and authorization, quota and rate limiting, and tenant isolation.
- Track record of building and growing infrastructure teams who trust their leadership.
- Ability to rapidly build credibility with engineers, customers, and partners.
- Ability to quickly learn and become conversant in new technical domains.
- Comfort working with geographically distributed teams.
- Experience working through relationships and influence to accomplish goals.
- Expertise in project management, project planning, and making the unpredictable predictable.
- Experience managing or developing critical internet services / platform infrastructure.
- Experience developing or leading work in distributed systems, database systems, storage engines, validation engineering, or performance engineering.
- Advanced understanding of data structures and algorithms in storage and indexing.
- Proficient in modern Java.
- We are seeking a hands-on manager with domain experience who is comfortable working in the details. Familiarity with several of the following technical areas and desire to gain experience in others is expected:
- Experience developing or leading work in distributed systems including traffic and load balancing; quota and rate limiting; tenant isolation; and security engineering.
- Experience developing open source software and interacting with OSS communities.
- 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 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.
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. Learn more about your EEO rights as an applicant.