Machine Learning Engineer - Perception ML Systems

Santa Clara Valley (Cupertino), California, United States
Software and Services


Role Number:200169362
Apple is looking for a talented, proactive, and results-oriented Machine-Learning Systems software engineer to help advance state-of-the-art of perception for autonomous technologies. In this position, you will be at the intersection of machine learning and large-scale systems, utilizing expertise in these area in order to build a scalable machine-learning training and evaluation environment that is efficient, scales with more data and compute is reliable and a pleasure to use. YOU WILL WORK ON - Implementing algorithms for efficient, large-scale, distributed DNN training. - Balance memory with compute to enable training of ever-larger models. - Make recommendations regarding HW configuration to minimize I/O and network overhead.- Profile and optimize low-level DNN training code; implement custom CUDA kernels to optimize slow operators.

Key Qualifications

  • 3+ years of professional software development experience in production environment in at least one of the following: Python, C++, CUDA.
  • Graduate level education in computer science or equivalent engineering degree.
  • Demonstrated creative, critical and independent thinking capabilities and troubleshooting skills.
  • Strong analytical and communication skills. EITHER:
  • Experience in building efficient distributed training infrastructure for machine learning.
  • Familiarity with Deep Neural Networks and modern platforms (Pytorch, TensorFlow). AND/OR:
  • Experience with implementing parallel and distributed algorithms in HPC context: MPI, OpenMP, TBB in C/C++ or GPGPU programming using CUDA.
  • Experience with distributed cloud compute using modern open source libraries.


You will join a fantastic team of exceptional engineers and researchers with deep experience in robotics, machine learning, and software engineering. We have a clear mission and always strive for the best possible result. We search for solutions as a team and value clear-eyed feedback. Time constraints and big goals encourage us to sharpen our focus and force us to make the right decisions.

Education & Experience

Bachelor degree or Masters in computer science/ML equivalent professional experience.

Additional Requirements