At Apple, new ideas have a way of becoming extraordinary products very quickly. Bring passion and dedication to your job, and there's no telling what we can accomplish together. We're looking for a hardworking and passionate person to join this amazing team, and if you feel this is you, we'd love to hear from you!
The Apple Service Engineering (ASE) team builds and provides systems and infrastructure that power Apple’s services (such as iCloud, iTunes, Siri, and Maps). Apple’s uniquely flawless hardware, software and services integration means that you will get to work with world-class engineers from a variety of subject areas to design and deliver products that our customers love. Our services have to scale globally, stay highly available, and "just work.” If you love crafting, engineering, and running systems that will help millions of customers, then this is the place for you!
Apple Service Engineering (ASE)’s Compute team is seeking an expert software engineer to build and improve internal cloud infrastructure offerings. You will be responsible for core components of a groundbreaking high performance batch compute platform, integrating the latest cloud hardware technologies with Apple’s own hardware and software. In this role, you will collaborate with teams across Apple to deliver forward-looking high-performance virtualized infrastructure. You will partner with internal application teams to understand their requirements, co-design operating system features and datacenter infrastructure to meet your needs, and look ahead at new technologies to incorporate them into our services.
In this role you will be responsible for developing, debugging and maintaining an software to maintain and develop an in-house virtualized infrastructure platform. You will:
- Design, implement, and optimize virtualized compute offerings on a wide variety of hardware types
- Design, implement, and maintain robust, scalable, and highly available services that support infrastructure management
- Enjoy working on reliability, scalability, resilience, security, and performance limits of infrastructure services. Be curious about how systems work and, more meaningfully, how they fail
- Monitor on-server system performance, identify bottlenecks, and implement solutions to enhance efficiency of workloads in a virtualized computing environment
- Conduct root cause analysis for on-server system failures and implement preventive measures
- Collaborate with multi-functional teams across Apple to understand, integrate, and optimize critical workloads into our platform
- Participate in software release qualifications, and large scale software and hardware upgrades to production clusters
- Participate in a business-hours rotation where engineers respond to platform issues for same-day resolution
Key Qualifications
- Strong understanding of concurrency, parallelism, and distributed systems concepts
- Familiarity with all aspects of software development from architecture to deployment and maintenance, especially in the context of infrastructure management
- Fluency in Golang, Python, or similar languages in a systems or distributed systems context
- Familiarity with node management systems like SaltStack, Ansible, Puppet or similar solutions
- Quick at learning and contributing to new code bases
- 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
- Prior experience of working with diverse hardware, operating systems, container runtimes (lxc, docker, containerd) and virtualization stacks (Qemu, KVM, Libvirt on x86, ARM)
- Prior working experience and deep understanding of node management agents (e.g., kubelet), and node orchestration solutions to manage large scale infrastructures
- Strong proficiency in Linux/Unix internals, administration, and troubleshooting
- Operational knowledge of Kubernetes clusters
- Strong knowledge of networking protocols and security standard methodologies
- Experience with measuring, analyzing, and optimizing performance
- Ability to effectively communicate within a team and with project collaborators