Senior Software Engineer, Machine Learning Platform

Pinterest, San Francisco, CA, US

Visual discovery destination

About Pinterest:  

Millions of people across the world come to Pinterest to find new ideas every day. It’s where they get inspiration, dream about new possibilities and plan for what matters most. Our mission is to help those people find their inspiration and create a life they love. In your role, you’ll be challenged to take on work that upholds this mission and pushes Pinterest forward. You’ll grow as a person and leader in your field, all the while helping Pinners make their lives better in the positive corner of the internet.

We're seeking a senior engineer to work on machine learning platforms and infrastructure, with past experience as an ML modeling practitioner. As part of the Machine Learning Platform team, you'll help build our platform for the end-to-end machine learning lifecycle: rapid prototyping; full-scale training; deploying, monitoring, maintaining models; and iterating on modeling ideas. The team's training platform is used for models on all major surface areas (Ads, Home Feed, Recommendations), which score tens of millions of pins every second. Comparable systems include Facebook FBLearner, Google TFX, Twitter Cortex, and Uber Michelangelo.

What you'll do:

  • Build tools to speed up the iteration cycle of machine learning engineers and data scientists, for example:
    • A unified feature store for teams to share features about Pinterest entities (pins, users, boards)
    • Model understanding and feature importance tools to understand failure cases and give modelers insights to improve models
    • Model management, monitoring, and deployment tools
  • Optimize existing model training/feature engineering workflows to improve model training efficiency, e.g. by better leveraging distributed compute, GPUs, or incremental training
  • Work extensively with ML engineers across Pinterest to understand their requirements, pain points, and build generalized solutions

What we're looking for:

  • Experience developing large-scale machine learning models in production
    • (Optional) Experience/familiarity with one of the mature ML platforms in the industry such as TFX, Michelangelo or Cortex
    • (Optional) Experience with feature engineering and feature understanding
  • Ability to drive cross-team projects; understand our internal customers (ML practitioners), their common usage patterns and pain points, and design solutions
  • Flexibility to work across different areas: tool building, model optimization, infrastructure optimization, etc.
  • One or more of the following:
    • Hands on experience with building models, particularly deep neural networks with Tensorflow, PyTorch, or equivalent
    • Framework level development on Tensorflow or PyTorch, such as TF operator implementation and optimization
    • Experience with big data computation frameworks (e.g. Hadoop, Cascading/Scalding, or Spark)
  • 5+ years of professional experience in software engineering
  • Fluency in Python and either Java or Scala
  • Strong software design skills


About Pinterest

Pinterest is full of possibilities to design your life. Discover recipes, style inspiration, projects for your home and other ideas to try. 

Want to learn more about Pinterest? Visit Pinterest's website.