Software Engineer - Cloud Storage
Imagine what you could do here. At Apple, new ideas have a way of becoming extraordinary products, and services very quickly. Bring passion and dedication to your job, and there’s no telling what we can accomplish together. We seek a dedicated and passionate engineer to join this amazing team – if this sounds like you, we’d love to hear from you!
The Apple Services Engineering (ASE) organization builds the high-performance, reliable, and scalable platforms that power Apple's services. Our Compute team designs and builds the foundational pieces of our internal cloud infrastructure. In this role, you'll collaborate with teams across Apple to engineer cutting-edge, high-performance distributed storage solutions that form the foundation of diverse cloud platforms. We're looking for a highly motivated individual with strong technical depth and communication skills, a passion for quality, and a keen eye for the details that ensure our systems are reliable and performant. Join this team, and you’ll directly contribute to the storage systems powering Appleʼs world-renowned hardware, software, and services.
As a Software Engineer on the Cloud Storage team, you will be at the heart of developing, debugging, and maintaining the disaggregated storage software that underpins critical cloud platforms at Apple. You will tackle complex challenges in distributed systems to deliver reliable, scalable, and performant storage solutions.
You will:
* Collaborate closely with teams within ASE and across Apple to understand requirements and integrate solutions.
* Design, implement, test, and debug software components for our storage systems.
* Write high-quality, maintainable code and actively participate in code reviews.
* Develop and review detailed design documentation for new features and system architectures.
* Participate in the qualification, deployment, and monitoring of software across large-scale production clusters.
* Benchmark, analyze, and optimize system performance, scalability, and resiliency.
* Uphold the high standard of quality and reliability expected of Apple products and infrastructure.
- Strong systems programming skills and a deep understanding of operating system fundamentals (memory management, concurrency, I/O, networking).
- BS in Computer Science or equivalent experience, plus 2+ years in system software development, OR an MS in Computer Science or equivalent experience.
- Solid grasp of concurrency, parallelism, and distributed systems concepts (e.g., consensus, consistency models, failure modes).
- Excellent communication skills, with the ability to articulate technical challenges and solutions clearly within the team and to stakeholders.
- Strong analytical and problem-solving skills.
- A genuine enthusiasm for building high-quality, robust systems.
- Hands-on experience with distributed storage solutions (e.g., Ceph, ScaleIO, GlusterFS, HDFS) is highly desirable.
- Experience developing and managing applications on Kubernetes; experience writing CSI plugins is a plus.
- Familiarity with using or contributing to cloud infrastructure technologies (e.g., AWS S3/EBS, GCP Cloud Storage/Persistent Disk, OpenStack Swift/Cinder).
- Proficiency in Go (Golang) applied to systems-level development.
- Experience building software solutions in other relevant languages such as Java, C/C++, Python, or Swift.
- Experience operating and troubleshooting large-scale distributed systems.
Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.