Overview
SummaryImagine what you could do here. At Apple, great 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!
The Database Engineering team under Data Services at Apple is responsible for providing Engineering Solutions to a large fleet of mission critical databases. The Data Services team is looking for candidates who will provide architecture and design solutions for multiple database technologies with expertise in Oracle, MongoDB and PostgreSQL and will be in charge of fast-paced, sophisticated distributed database environments. This position demands the best and brightest Database engineers! Join us, and help build and run database platforms that deliver Apple services to all of its customers around the world and build the Apple experience on a global scale.
Description
Would you like to work in a fast-paced environment where your technical abilities will be challenged on a day-to-day basis? Do you want your work to make a difference in the lives of millions of people who use Apple's products and services? If so, we are looking to hire extraordinary individuals to join the Data Services team as a Datastore Engineer. The ideal candidate will work with cross-functional teams, locally and remotely, to design, develop, and support product and process development efforts for our next-generation services and products.
Responsibilities
- Design, architect, build and continuously maintain a high performance and highly available database infrastructure.
- Work closely with Application and Internal Infrastructure teams to advance their strategic initiatives, operational readiness, engineering standards and designs.
- Support various database maintenance activities like Database Upgrades, Patch Management, User Management and Backup and Recovery.
- Troubleshoot and resolve performance issues across Oracle, PostgreSQL and MongoDB with strong expertise in SQL/query tuning, memory optimisation (SGA/PGA, shared_buffers/work_mem, WiredTiger cache), I/O tuning, and deep understanding of locks, latches and concurrency mechanisms.
- Optimise SQL queries, MongoDB aggregation pipelines and database workloads for efficiency.
- Design and implement performance optimisation strategies for large-scale, high-transaction environments.
- Provide recommendations for schema optimisation, indexing, partitioning, and sharding.
- Setup and maintain Active-Active environments for databases within and across geographic locations.
- Implement and support PostgreSQL logical replication.
- Identify avenues for automation for mundane and recurring database tasks and implement automated solutions.
- Troubleshoot complex technical problems under pressure, implement solutions that are massively scalable, while managing multiple customer groups.
- Participate in rotational on call support, as necessary.
- 8+ Years of work experience in IT Industry, with expertise in Large scale Database implementations including Oracle, MongoDB and PostgreSQL.
- Experience in designing and managing databases with a strong understanding of database concepts, troubleshooting skills and root cause analysis.
- Experience in handling architectural and design considerations such as performance, scalability and availability.
- Strong knowledge of High Availability architecture using Oracle DataGuard/FSFO, MongoDB Replica Sets & Sharding, multi-region deployments, Load balancer / Net Scaler configurations, Application Continuity.
- Performance tuning and schema design for all datastore (Oracle, MongoDB and PostgreSQL).
- Deep understanding of Performance Tuning, including SQL/Query Execution plans, wait events, Performance debugging features/tools, pg_stat, mongostat, mongotop etc.
- Hands-on experience in database migration to PostgreSQL and designing table structures.
- Strong knowledge of deploying and managing databases on Kubernetes.
- Strong knowledge of major cloud providers (AWS, GCP, etc.) and Cloud APIs.
- Strong knowledge of Linux/Unix Internals, Systems/Application Design & Architecture.
- Strong experience in automation/scripting using Shell/Perl/Python.
- Evaluate emerging technologies and provide architectural recommendations.
- Knowledge of other graph and distributed db’s technologies is a plus.
- Strong analytical, critical thinking, and problem-solving skills.
- Excellent written and verbal communication skills, solid collaboration skills.