Site Reliability Engineer
Vancouver, British Columbia, Canada
Software and Services
Developer Tools has a new Cloud Services group who are building new products to greatly improve the experience for millions of people who develop software for Apple platforms - developers expect the best, so our products and services must be reliable and performant. We are a team of engineers and managers who have built and operated Internet services for other organizations, and we’re looking for experienced SREs to help us build, operate and improve our systems. Relevant industry experience is important but we are ultimately interested in your demonstrated abilities and attitude. Your previous roles may have included Site Reliability Engineer (SRE), Production Engineer, Systems Engineer, Software Engineer, DevOps Engineer, etc. This position is full-time and located in our Vancouver, BC, Canada office.
- 5+ years of software development and/or production operations experience with large-scale distributed systems.
- Good systems level understanding of Linux and TCP/IP fundamentals. macOS a plus. HTTP/S knowledge preferred.
- Strong experience shell scripting and coding in higher-level languages like Go, Python, Java, plus experience with git. Experience learning software, frameworks and APIs. Familiarity with continuous integration and delivery (CI/CD) is a plus.
- Familiarity with microservices architecture and modern container orchestration with Kubernetes, Mesos, or equivalent technologies. Knowledge of cloud platforms and virtualization technologies.
- Experience in managing, instrumenting, and scaling multi-tier web-services infrastructure in a public, private or hybrid cloud environment. Troubleshooting experience is important.
- Involvement with incident management and response. Experience with chaos engineering, scale testing and/or disaster recovery would be a plus.
- Excellent collaborative skills, with strong written and verbal communication. Ability to drive own projects.
This role is for a hybrid software/systems engineer who will work to ensure that our services run smoothly and support growth through our product launches. You will sit with the Infrastructure engineering team that is embedded with the product engineering and design teams. This role will give you... • A team of highly skilled co-workers ready to mentor you, and also learn from you. • The opportunity to contribute to building, launching and operating new products at Apple. • Unique distributed computing problems and encouragement to approach them with an open mind. • The opportunity to collaborate with talented engineering teams across a wide range of technology disciplines. • The freedom to take ownership and drive meaningful improvements in the operational reliability of mission critical services. You will... • Have a bias for action - experiment, collect data, act like an owner, and generally move fast. • Write and review code for all codebases that we are involved with, and participate in every significant engineering effort for production systems that serve a very large scale of users. • Own parts of the infrastructure like virtualization tech, storage systems, data processing pipelines, secrets databases, release engineering, detection engineering, and many other things. • Optimize performance and efficiency, plan for capacity and growth. • Collaborate and partner with some of the best engineers in the industry to influence development of our broad technology stack, and improve how we do things at Apple. • Support the day-to-day operations of the environment including monitoring, measuring, and troubleshooting infrastructure and services. You will debug very difficult distributed-systems problems, live. • Participate in a regular on-call rotation to support the products, and reduce the oncall burden through code-hardening, writing automation, improving telemetry and influencing other teams to improve their areas. • Achieve and maintain expected productivity levels with minimal supervision. You’ll join a small and focused team, but also work closely with the larger Development Technologies organization colocated with us. Here you’ll find that we: • Have a wide range of experience, from new engineers to Apple veterans.. • Provide a peaceful work environment where you can choose when to socialize and when to close find your own space and focus. • Have an encouraging and growth-focused workplace culture. • Encourage you to use accrued vacation time and maintain a healthy work-life balance.
Education & Experience
Bachelor of Science in Computer Science, or equivalent experience.
- • Experience with distributed computing and enterprise systems
- • Experience developing cloud software services and an understanding of design for scalability, performance, reliability and security