Building resilient and reliable distributed software systems at Apple's scale
Requirements
- Hands-on software development experience with Java or Kotlin
- Development and operational experience with REST and/or gRPC services
- Experience with containerization and orchestration (e.g. Docker, Kubernetes)
- Time spent architecting, building, supporting or otherwise working on cloud-native (e.g. AWS) applications with resilience as a core feature
- Familiarity with CI/CD pipelines and infrastructure as code
- Experience with observability tools (e.g. Prometheus, Grafana, OpenTelemetry, Datadog)
- Hands-on experience with SQL/NoSQL databases (e.g. Aurora, DynamoDB, CockroachDB, Oracle)
Responsibilities
- Design, build, test, deliver and maintain exceptional software
- Take full ownership of solutions
- Participate in technical discussions
- Write specifications
- Review code
- Produce documentation
- Operate, monitor, and provide on-call support for the software you build
Other
- A commitment to continuous learning and improvement, and curiosity for new technologies, techniques and patterns in pursuit of engineering excellence
- An ability to communicate thoughtfully and clearly, both verbally and in writing, to discuss complex technical concepts with diverse audiences, including global teams and external partners
- A track record of building and sustaining healthy long-term relationships within your team, and beyond its boundaries
- The tenacity and perseverance to drive a complex project all the way from conception to production
- No formal degree is required