Machine Learning Infrastructur...

Apple Apple

The Imaging & Vision Technologies Team is responsible for machine learning solutions for Apple's image and video processing technologies, including features such as face recognition and scene classification in Photos, macOS and iOS system frameworks, and many other internal tools and prototypes under development. Our team is now hiring software engineers to develop core infrastructure to accelerate machine learning research. Openings are available for both full-time positions and internships, and start dates and durations are flexible.

Key Qualifications

Proficiency in C++ and Python

Excellent understanding of abstraction and modularity

Ability to master new concepts and technologies rapidly

Strong analytical skills and ingenuity

Deep technical understanding of the candidate's own work as well as the works of others

Excellent ability to explain technical ideas to others in a clear and concise manner

Passion for assimilating and extending the state of the art in multiple research domains (ideally including fields such as compilers, programming language design, distributed systems, and machine learning)

Strong commitment to the core values of Apple, ensuring the absolute highest standards of quality, innovation, scientific rigor, and respect for our customers and their privacy

(Optional, but very helpful) Experience with compilers and programming language design

(Optional, but helpful) Experience with functional programming and/or formal methods

(Optional, but helpful) Experience with Metal, CUDA, or OpenCL

(Optional, but helpful) Experience with distributed systems

(Optional, but helpful) Familiarity with basic concepts of machine learning


In this role, the candidate will work with engineers and researchers on the Imaging & Vision Technologies team to develop core infrastructure to accelerate machine learning research. The role will involve software development in C++, Python, and other environments, as well as the design of novel approaches to enable rapid scientific exploration and scalable deployment of machine learning models. Prior research experience is not required, but the candidate should be prepared to design solutions that advance the state of the art in any of several fields, including compilers, programming language design, distributed systems, and machine learning. Our team combines research and development in a fast-paced environment to produce the products that millions of our customers love to use and rely on every day.


B.A./B.S., M.S., or Ph.D. in Computer Science, Mathematics, or a related field (or equivalent practical experience). We will also consider students still enrolled in school for internship opportunities.

To apply for this job please visit