Summary
Software Development Engineer specializing in Distributed Systems for cloud compute platforms. Responsibilities include designing, developing, debugging, and maintaining control plane components, writing and reviewing code and documentation, participating in software qualifications, and responding to production issues. The role involves working with cross-functional teams, engaging with partners and customers, and upholding high-quality standards. Requires a BS/MS/PhD with relevant years of experience in software development, distributed systems, and related fields.
Description
In this role, you will develop, debug, and maintain key features of a compute control plane service. You will:
* Actively participate in the design and development of control plane components (scheduling, resource management, APIs, high-availability) for a large-scale multi-site cloud compute platform.
* Write and review code, generate and review design documentation.
* Participate in software qualifications and rollouts to production clusters.
* Participate in a 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.
* Engage closely with partners and customers to drive clarity in Apple's compute needs.
* Hold yourself and others to a high quality standard expected of Apple products
Demonstrated ability to design, debug, and test complex software systems
Experience with software development in distributed systems, critical internet services and/or platform infrastructure.
Understanding of distributed systems and database concepts.
Strong communication and organizational skills.
Understanding of core operational concepts - monitoring, alerting, incident management.
Understanding of performance analysis methodologies.
User-focused: passion for quality, attention to details, and delivering outstanding user experiences
BS in Computer Science / related fields and 6+ years of experience or MS with 4+ years of experience or PhD with 2+ years of experience.
Experience developing control planes for critical internet services / platform infrastructure
Expertise in solving scheduling problems e.g. quota management, fair share, placement etc.
Knowledge of operating systems concepts (process scheduling, disk and network I/O, performance).
Knowledge of datacenter architecture (networking topologies, host placement strategies, and failure modes); design of multi-datacenter systems; failure domains; and wide-area networking.
Comfort working with geographically distributed partners
Golang proficiency
Experience with Kubernetes, postgresql, zookeeper, etcd.