Server Engineer in Machine Learning - Core ML
Santa Clara Valley (Cupertino), California, United States
Software and Services
We believe in transforming your smartphone into a device that learns and anticipates your needs without sacrificing your privacy. We create groundbreaking technology used by teams around Apple to infuse products with intelligence. In this role you’ll work with a small and independent team to solve hard problems that improve the lives of millions of customers. We’re looking for a talented server engineer to help us build pipelines to make sense of increasing amounts of data. In this role, you’ll experiment with novel data representation techniques, build full-stack data pipelines from scratch, drive innovation from other teams, and implement novel machine learning algorithms. These systems help us understand and improve Apple’s user experience. You’ll work in a small and dynamic team, building new functionality and collaborating across groups. You’ll also participate in algorithm and feature development. This position requires a broad set of software engineering skills, with particular focus on data representations, dataset curation, machine learning algorithms and distributed implementations. You should have experience deploying at least one large production system with a massive dataset or a web-scale user population. An understanding of data privacy and a deep respect for users are key.
- 3+ years practical background in server software engineering and distributed systems
- Proven track record delivering production software
- Deep fluency in Java, Python, C++, or another production language
- Experience with Spark, Hadoop, MPI, or other distributed frameworks
Deploy infrastructure required for data collection and analysis. Curate new datasets for machine learning tasks. Produce high quality code with excellent reliability and scalability. Explore novel architectural solutions and communicate ideas clearly. Collaborate in cross-functional teams to prototype new concepts and deliver end-to-end systems.
Education & Experience
BS or MS in Computer Science (or a related field), and 3 to 5 years of relevant industry experience with a proven track record.