Full Job Description
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 to join the ML Platform team. Our team builds the foundational data platforms (robusta/hashi, mds) to pump in the bloodstream - data to support offline model training and online feature serving. We provide the essential tools to help customers monitor and assure data quality (aegis), manage/register features, trace feature through its lifecycles and assist in feature deprecation. With the significant infra cost of this area, our team also focuses on continuous optimization of the storage/processing to sustain the ML growth of Snap.
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
- 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 on state-of-the-art vector search algorithms to improve the precision, recall and scalability of our retrieval systems
- 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
- 6+ years of post-Bachelor’s software development experience; or Master’s degree in a technical field + 5+ year of post-grad software development experience; or PhD in a relevant technical field+ 2+ years of post-grad software development experience
- 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
"Default Together" Policy at Snap: At Snap Inc. we believe that being together in person helps us build our culture faster, reinforce our values, and serve our community, customers and partners better through dynamic collaboration. To reflect this, we practice a “default together” approach and expect our team members to work in an office 4+ days per week.
Compensation
In the United States, work locations are assigned a pay zone which determines the salary range for the position. The successful candidate’s starting pay will be determined based on job-related skills, experience, qualifications, work location, and market conditions. The starting pay may be negotiable within the salary range for the position.These pay zones may be modified in the future.
Zone A:
The base salary range for this position is $209,000-$313,000 annually.
Zone B:
The base salary range for this position is $199,000-$297,000 annually.
Zone C:
The base salary range for this position is $178,000-$266,000 annually.
This position is eligible for equity in the form of RSUs.