Software Engineer in Natural Language Processing (NLP) and Machine Learning (ML)

Santa Clara Valley (Cupertino), California, United States
Machine Learning and AI


Role Number:200474414
Are you interested in building amazing text input experiences that will touch the lives of billions of people by utilizing state-of-the-art NLP and machine learning? Do you enjoy collaboration and team work to accomplish innovative ML driven user experiences? We are looking for a Software Engineer who is passionate about translating expertise in NLP and ML into impactful applications for users. The role allows you to be a highly multi-functional engineer with plenty of opportunities to collaborate cross-functionally and get high visibility for your work. Our team is responsible for the Research, Development and Deployment of ML/NLP technologies that power many applications on Apple Platforms including the latest Transformer Models for Keyboard on iOS 17. We build innovative and pervasive NLP technologies that power a multitude of user experiences on Apple platforms by blending Sensor technology, NLP, ML & Software engineering. Our team has a great mix of talent across NLP, Software Engineering and Machine Learning. We love to share our knowledge within our team, stay abreast of state-of-the-art and deliver outstanding products for our users. We also have a strong culture of multi-functional collaboration across teams at Apple. Here are a selection of relevant WWDC presentations:

Key Qualifications

  • Experience writing production software (C/C++, Obj-C, Python)
  • Hands-on experience with building NLP applications
  • Good machine learning fundamentals
  • Hands-on experience in using open-source ML toolkits, e.g., PyTorch, Tensorflow
  • Excellent communication and organizational skills


Join the Input Experience team that is responsible for on-device text processing across all Apple platforms. As a member of this premier team, you will work on the intersection of NLP, Machine Learning and Software Engineering. The position requires proven hands-on NLP experience in conjunction with Software Engineering. The role spans the entire gamut of NLP: text processing, empirical experimentation for building state-of-the-art NLP models, productizing NLP features for Apple and working on concrete user-facing features that harness the NLP stack. The role has plenty of opportunities for collaboration with several engineering teams at Apple that work on machine learning and NLP.

Education & Experience

B.S, M.S. or PhD in Computer Science or a related field

Additional Requirements

Pay & Benefits