Software Engineer, ML Infrastructure, Level 5
Snap · Palo Alto, California
$140k - $220k
Regular
Job description
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 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. At Snap, we believe that having a team of diverse backgrounds and voices working together will enable us to create innovative products that improve the way people live and communicate. Snap is proud to be an equal opportunity employer, and committed to providing employment opportunities regardless of race, religious creed, color, national origin, ancestry, physical disability, mental disability, medical condition, genetic information, marital status, sex, gender,