Snap Engineering teams build fun and technically sophisticated products that reach hundreds of millions of Snapchatters around the world, every day. We’re deeply committed to the well-being of everyone in our global community, which is why our values are at the root of everything we do. We move fast, with precision, and always execute with privacy at the forefront.
You’ll play a critical role in scaling our ML Infrastructure, optimizing AI training and inference systems, and driving innovations that make Snapchat’s ranking and recommendation systems more efficient and impactful.
We’re looking for a Software Engineer, ML Infrastructure to join Snap Inc!
What you’ll do:
- Design and optimize infrastructure systems for machine learning workloads at scale and drive reliability and efficiency improvements across Snapchat’s ML Infrastructure
- Build and enhance feature generation pipelines that power real-time and batch ML models for content ranking and recommendations
- Develop high-performance inference systems to ensure fast and efficient AI model serving
- Build infrastructure to perform scalable ML model training, evaluation, and inference in the cloud
- Develop high-performance inference systems to ensure fast and efficient AI model serving
- Build comprehensive data management systems for scalable data collection, labeling, processing, and evaluation
- Work closely with ML engineers to deploy cutting-edge models into production
Knowledge, Skills & Abilities:
- Strong programming skills in Python, Java, Scala or C++
- Strong problem-solving skills with a focus on system performance, scalability, and efficiency
- Good understanding of distributed systems and the infrastructure components of large-scale ML
- Experience with big data processing frameworks such as Spark, Flink, or Ray
- Ability to collaborate and work well with others
- Proven track record of operating highly-available systems at significant scale
- Ability to proactively learn new concepts and apply them at work
Minimum Qualifications:
- Bachelor’s degree in a technical field such as computer science or equivalent experience
- Post-Bachelor’s software development experience; or Master’s degree in a technical field + post-grad software development experience; or PhD in a relevant technical field
- Experience building large scale production machine learning systems, distributed systems or big data processing
Preferred Qualifications:
- Masters/PhD in a technical field such as computer science or equivalent industry experience
- Experience working with ML Training platforms or optimizing AI model inference
- Familiarity with ML frameworks such as TensorFlow, PyTorch, Caffe2, Spark ML, scikit-learn, or related frameworks