AIML - Software Engineer, Machine Learning Platform (MLPT)
Job Description
Summary
Want to build the platform that enables the next generation of intelligent experiences on Apple products & services? As a software engineer on the Machine Learning Platform team, you will be responsible for designing and building critical services that support Apple Intelligence, machine learning and computer vision efforts across the company.
Specifically in this role you will be working on platforms responsible for orchestrating and managing distributed machine learning workloads on Apple Hardware. This is a highly collaborative role and you will be working with key partners across the company.
Within our team, we have a diverse software and infrastructure stack with many opportunities to learn and grow your skills with current technologies. Our platform is built using a variety of systems and services: from bare metal to managed infrastructure services, and everything in between. We use existing systems when possible, but do not shy away from rolling components ourselves. As a team, we have a variety of technical backgrounds, and we exemplify a team of pragmatic, proficient, product-focused engineers.
Want to join us?
Specifically in this role you will be working on platforms responsible for orchestrating and managing distributed machine learning workloads on Apple Hardware. This is a highly collaborative role and you will be working with key partners across the company.
Within our team, we have a diverse software and infrastructure stack with many opportunities to learn and grow your skills with current technologies. Our platform is built using a variety of systems and services: from bare metal to managed infrastructure services, and everything in between. We use existing systems when possible, but do not shy away from rolling components ourselves. As a team, we have a variety of technical backgrounds, and we exemplify a team of pragmatic, proficient, product-focused engineers.
Want to join us?
Description
As a software engineer on the MLPT Compute Platform team you have the following responsibilities:
- Own the architecture, design, development, and operations of systems designed for running machine learning workloads across all of Apple’s platforms and devices. These may include, but not limited to data management systems, engineering workflow systems, distributed compute systems and user-facing UIs and APIs.
- Partner with various teams and machine learning engineers across different Apple organizations to define high impact product features and deliver them with quality. In this role you will be working on core infrastructure that teams across the company leverage to deliver ML powered products and features.
- Lead a group of engineers to deliver high quality products/services. Be able to stay on top of state-of-the-art technologies and apply them in the job. During the process, support junior engineers by providing advice, coaching and educational opportunities.
- Own the architecture, design, development, and operations of systems designed for running machine learning workloads across all of Apple’s platforms and devices. These may include, but not limited to data management systems, engineering workflow systems, distributed compute systems and user-facing UIs and APIs.
- Partner with various teams and machine learning engineers across different Apple organizations to define high impact product features and deliver them with quality. In this role you will be working on core infrastructure that teams across the company leverage to deliver ML powered products and features.
- Lead a group of engineers to deliver high quality products/services. Be able to stay on top of state-of-the-art technologies and apply them in the job. During the process, support junior engineers by providing advice, coaching and educational opportunities.
Minimum Qualifications
- Strong software development skills, proficiency in relevant languages (e.g. Python)
- Experience designing and building services and APIs, especially micro-services
- Familiarity with relational database systems such as PostgreSQL, and experience with distributed systems and services
- Proficiency with CI/CD, Container orchestration technologies like Kubernetes & EC2
- Obsessed with the end user experience; previous experience in taking a product from design & inception to production
- BS in Computer Science or equivalent industry work experience
Preferred Qualifications
- Experience using system monitoring tools and automated testing frameworks
- Experience delivering distributed systems and services in a production setting
- Experience with Kubernetes and cloud infrastructure
- Experience with Machine Learning and ML lifecycle / deployment
- Master or PhD in Computer Science or equivalent industry work experience