Senior Software Engineer - Apple ML Data Platform.
Cupertino, California, United States
Software and Services
The Apple Data Platform (ADP) group builds the data platform that enables the next generation of intelligent experiences on all Apple products and services. ADP empowers Apple engineers to deliver ML-driven products and innovations rapidly and at scale. We are looking for an experienced engineer who can bring their passion for machine learning, infrastructure, big data, and distributed systems to build world class data+ML platform/products at scale. You will work with many cross functional teams and lead the planning, execution and success of technical projects with the ultimate purpose of improving ML experience for Apple customers.
Are you a passionate about building scalable, reliable, maintainable infrastructure and solving data problems at scale? Come join us and be part of the Data Infrastructure journey.
Description
Apple Ray leverages open-source Ray to offer a unified framework for processing of complex data+ML pipelines. It enables the next generation of intelligent experiences for Apple products and services by combining data and processing layers into one unified end-to-end workflow that eliminates the complexity of running multiple independent jobs while significantly improving the hardware resource efficiency and development speed. Tight integration of Apple Ray with Apple Data services makes it the go-to solution when dealing with complex and large-scale data and ML pipelines. The team enables future Apple intelligent products by making cutting edge ecosystem of data+ML technologies for large-scale and efficient systems for all data and ML engineers within Apple.
As a member of the Apple Ray team, your responsibilities will include:
* Designing, implementing, and maintaining distributed systems to build world-class ML platforms/products at scale
* Diagnose, fix, improve, and automate complex issues across the entire stack to ensure maximum uptime and performance
* Design and extend services to improve functionality and reliability of the platform
* Monitor system performance, optimize for cost and efficiency, and resolve any issues that arise
* Build relationships with stakeholders across the organization to better understand internal customer needs and enhance our product better for end users
Minimum Qualifications
- 5+ years of experience in distributed systems with deep knowledge in computer science fundamentals
- Experience in delivering data and machine learning infrastructure in production environments
- Experience configuring, deploying and troubleshooting large scale production environments
- Experience in designing, building, and maintaining scalable, highly available systems that prioritize ease of use
- Experience with alerting, monitoring and remediation automation in a large scale distributed environment
- Extensive programming experience in Java, Python or Go
- Strong collaboration and communication (verbal and written) skills
- B.S., M.S., or Ph.D. in Computer Science, Computer Engineering, or equivalent practical experience
Key Qualifications
Preferred Qualifications
- Experience with containerization and orchestration technologies, such as Docker and Kubernetes.
- Understanding of the ML lifecycle and state of the art ML Infrastructure technologies
Education & Experience
Additional Requirements
Pay & Benefits
Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure 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.