About the job
Snap Inc is a technology company. We believe the camera presents the greatest opportunity to improve the way people live and communicate. Snap contributes to human progress by empowering people to express themselves, live in the moment, learn about the world, and have fun together. The Company operates Snapchat, a visual messaging app that enhances your relationships with friends, family, and the world, and Specs Inc., a wholly-owned subsidiary dedicated to making computing more human, in addition to Bitmoji, Saturn, and other digital services. 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 our embedding, feature and training data storage and compute to enable different paradigms of ML models at massive scale, make Snapchat’s ranking and recommendation systems more efficient and impactful.
Responsibilities
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 embedding generation / batch inference systems to improve model performance
Develop high-performance data storage/compute systems to improve the efficiency of our ML infrastructure
Integrate state of the art ML data quality system to assure model performance
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
Utilize AI tools and high velocity engineering workflows to design and ship scalable services while upholding rigorous standards for code correctness, security, and production ready quality code
Qualifications
Minimum
Bachelor’s degree in a technical field such as computer science or equivalent experience
9+ years of post-Bachelor’s software development experience; or Master’s degree in a technical field + 5+ years 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
Masters/PhD in a technical field such as computer science or equivalent industry experience
Experience with big data processing frameworks such as Spark, Flink, or Ray
Experience with large scale feature store or embedding system
Familiarity with ML frameworks such as Pytorch, Tensorflow