Database Services Development Engineer, IS Data Services

Sunnyvale, California, United States
Software and Services

Summary

Posted:
Weekly Hours: 40
Role Number:200546902
The people here at Apple don't just craft products - they build the kind of wonder that's revolutionized entire industries! It's the diversity of those people and their ideas that encourages the innovation that runs through everything we do, from amazing technology to industry-leading environmental efforts. Join Apple, and help us leave the world better than we found it! Apple’s Infrastructure Services (Data Services) team invites interested engineers to join our database services development team. Our engineers develop and manage Apple’s cloud-based relational db service hosting PostgreSQL databases that power some of Apple’s most important workloads in Services, Manufacturing, AIML and many more. You will be joining a team of engineers working at the cutting edge of modern database deployment architectures and running distributed systems at a very large scale. Developers on our team are responsible for ensuring that our cloud database services are completely API-driven, reliable, efficient and resilient with a high degree of auto-remediation ensuring high availability and durability. In building this database platform at Apple and supporting many key Apple services, your work will impact the experiences of many millions of users and is essential to the success of some of the most visible current and future Apple features.

Key Qualifications

  • Experience building highly available software services or platform infrastructure.
  • Proficient in modern Java/Kotlin/Go and optionally Python/C/C++.

Description

The PostgreSQL service development team develops highly reliable and modern API-driven micro-services that provide the underpinnings of a cloud relational database service that serves all of Apple. Our work involves the development or the control plane and infrastructure to operate PostgreSQL databases at scale. This work requires curious, enthusiastic and collaborative developers with an extraordinary degree of care and rigor in engineering. Team members contribute to all major components of the managed database service - building and implementing APIs for users and admins, implementing reliable and fault-tolerant database management automation including deployment orchestration, backups, telemetry, as well as contributing any changes to the database that improve its stability, performance, and scaling. Success in this role requires some level of understanding of several of the following aspects: - Modern API development (gRPC, JSONAPI etc.), CI/CD, unit/integration/scale/performance testing of code. - Workflow orchestration and declarative state convergence models of automation. - Core reliability concepts - observability, monitoring, alerting, fault tolerance, auto-remediation. - Deployment platforms - bare metal, virtualized (VMs) and containerized (Kubernetes). - System-level hardware, networking and operating systems concepts (process scheduling, disk and network I/O, performance) - Relational database concepts (replication, archival, failover, etc.) This role also requires excellent communication skills, the ability to partner with other teams, and a high 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 crucial; experience in this area is a plus. Prior experience with development or maintenance of distributed databases/storage systems is recommended.

Education & Experience

BS or MS in Computer Science/related fields with 4+ years of experience or equivalent.

Additional Requirements

  • - Optional: Experience with managing stateful services run on Kubernetes.
  • - Optional: Experience building and interacting with Cloud APIs for AWS EC2, EBS or similar.
  • - Optional: Familiarity with relational databases like PostgreSQL

Pay & Benefits