Job 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.