Job Description
Job Summary: We're seeking a motivated and detail-oriented individual to join our team as a Software Engineer in the Apple Services Engineering organization.
At Apple, we're dedicated to delivering exceptional products and experiences that surprise and delight our customers. As a key member of our team, you'll collaborate with cross-functional teams to design, implement, and maintain powerful platforms that enable engineers to deliver incredible experiences to customers.
Key Responsibilities:
- Closely collaborate with teams within and across organizations to support their workflows or integrate their technology into our platform.
- Automate operations processes via services and tools.
- Develop within configuration management and fleet orchestration via Salt Stack, Ansible, Puppet, or others.
- Design, implement, and maintain robust, scalable, and highly available services that support infrastructure management.
- Monitor on-server system performance, identify bottlenecks, and implement solutions to enhance efficiency.
- Conduct root cause analysis for on-server system failures and implement preventive measures.
- Write and review code, generate and review design documentation.
- Participate in qualifications and rollouts of software to production clusters.
- Participate in a business-hours rotation where engineers respond to platform issues for same-day resolution.
Requirements:
- Familiarity with the mechanics behind infrastructure management.
- Fluency in Go (Golang), Python, or similar languages in a systems context.
- Customer-focused thinking and strong problem-solving with attention to detail.
- Strong systems programming skills and knowledge of operating system fundamentals.
- BS with 2+ years of experience in system software development or MS in Computer Science.
Preferred Qualifications:
- Experience with large scale server provisioning and maintenance.
- Familiarity with node management systems like Salt Stack, Ansible, Puppet.
- Strong proficiency in Linux/Unix internals, administration, and troubleshooting.
- Operational knowledge of Kubernetes clusters.
- Strong knowledge of networking protocols and security best practices.
- Experience with measuring, analyzing, and optimizing performance.
- Ability to effectively communicate within a team and with project stakeholders.