System Engineer - Cloud Runtime
Dublin, County Dublin, Ireland
Software and Services
Do you love crafting elegant solutions to highly complex challenges? Can you intrinsically see the importance of every detail? At Apple, our compute team is responsible for designing and building the foundational pieces of our data center software. In this role, you will collaborate with engineers across Apple to build and deploy scalable, reliable, and high-performance batch cloud systems that support Apple’s research and development.
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 seamless hardware, software and services integration means that you will get to work with world-class engineers from a variety of disciplines to design and deliver products that our customers love. Our services have to scale globally, stay highly available, and "just work.” If you love designing, 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 a software engineer to build and enhance internal cloud infrastructure offerings and interrelated services to leverage and support Apple technologies. You will work on and be responsible for core components of the platform. You will partner with internal application teams to understand their requirements and co-design operating system features and datacenter infrastructure to meet your needs.
Description
In this role you will be responsible for developing, debugging and maintaining on-server software and virtualization solutions for various cloud platforms. You will:
* Closely collaborate with teams within and across organizations
* Design, implement, and debug core execution environment components of internal platforms, including secure VMs and containers tailored to the unique needs of Apple workloads
* Write and review code, generate and review design documentation
* Participate in qualifications and rollouts of software to production clusters
* Benchmark, analyze and improve scale, performance and resiliency issues
* Hold yourself and others to a high quality standard expected of Apple products
* Enjoy working on reliability, scalability, resilience, security, and performance limits of infrastructure services. Be curious about how systems work and, more importantly, how they fail
* Participate in local business-hours rotation where engineers respond to platform issues for same-day resolution
* Work with a wide range of software and hardware engineering teams across Apple to support their workflows or integrate their technology into our platform
Minimum Qualifications
- Strong systems programming skills and knowledge of operating system fundamentals
- Familiarity with the mechanics behind containers and virtualization
- Strong understanding of concurrency, parallelism and distributed systems concepts
- BS with experience in system software development or MS in Computer Science
- Ability to articulate complex technical concepts to both technical and non-technical stakeholders
- Excellent problem solving, analytical thinking, verbal and written communication skills to effectively collaborate with multidisciplinary teams
- Enthusiastic about upholding Apple’s standards in product quality, design, and user experience
Key Qualifications
Preferred Qualifications
- Fluency in Go (Golang), Python, C++ or similar languages in a systems context
- Experience with measuring, analyzing, and optimizing performance in host as well guest environments
- 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