Pinterest engineering blog

  • Back to all posts
  • Mar 11, 2015
  • Share

Open-sourcing Pinball

Pawel Garbacki, Mao Ye, Changshu Liu and Jooseong Kim

Pawel is a software engineer on the Monetization team. Mao, Changshu and Jooseong are software engineers on the Data team.

As we continue to build in a fast and dynamic environment, we need a workflow manager that’s flexible and can keep up with our data processing needs. After trying a few options, we decided to build one in-house. Today we’re open-sourcing Pinball, which is designed to accommodate the needs of a wide range of data processing pipelines composed of jobs ranging from simple shell scripts to elaborate Hadoop workloads.

Pinterest engineering blog

  • Back to all posts
  • Mar 6, 2015
  • Share

Serving configuration data at scale with high availability

Pavan Chitumalla and Jiacheng Hong

Pavan and Jiacheng are software engineers on the Infrastructure team

We have a lot of important and common data that’s not modified frequently but accessed at a very high rate. One example is our spam domain blacklist. Since we don’t want to show Pinners spammy Pins, our app/API server needs to check a Pin’s domain against this domain blacklist when rendering the Pin. This is just one example, but there are hundreds of thousands of Pin requests every second, which generates enormous demand for access to this list.

Pinterest engineering blog

  • Back to all posts
  • Mar 4, 2015
  • Share

4 steps to better goals and metrics

Marty Weiner

Marty is a manager on the BlackOps team

“Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat.” - Sun Tzu

I’ve found over and over again that many organizations suffer from the same problem, goal setting . It’s not always clear how goals are set or how to set them. This is especially true of startups. I had to learn this process the hard way by making lots of mistakes and banging my head against walls. So you can spare your own head and a few innocent walls, I’m sharing my brain dump on formulating goals and metrics.

Pinterest engineering blog

  • Back to all posts
  • Feb 25, 2015
  • Share

Open-sourcing PINCache

Garrett Moon

Garrett is an iOS engineer on the Mobile team

Because the Pinterest iOS app downloads and processes an enormous amount of data, we use a caching system to cache models and images to avoid eating into our Pinners’ (users’) data plans. For quite some time we used TMCache to persist GIFs, JPEGs and models to memory and disk, but after using it in production, Pinners were reporting the app was hanging.

Pinterest engineering blog

  • Back to all posts
  • Feb 20, 2015
  • Share

Fighting spam at Pinterest

Marty Weiner

Marty is a manager on the Black Ops team

Spammers used to love us, but not anymore.

Pinterest is a great platform to spam because of the large amount of traffic we drive to other sites. Spammers want to divert traffic to their sites so Pinners will fall for scams. To do this, they’ll disguise Pins as promising weight loss products, work-from-home opportunities, cheap designer handbags and more. This is where the Pinterest BlackOps team comes in. Our mission isn’t to fight spam, but to make it so we don’t need to.

Pinterest engineering blog

  • Back to all posts
  • Feb 18, 2015
  • Share

Real-time analytics at Pinterest

Krishna Gade

Krishna is an engineering manager on the Data team

As thousands of people gather in the Bay Area this week for Strata + Hadoop World, we wanted to share how data-driven decision making is in our company DNA.

Pinterest engineering blog

  • Back to all posts
  • Feb 13, 2015
  • Share

How holdout groups drive sustainable growth

John Egan

John is a tech lead on the Growth team

When it comes to growth, one potential pitfall is over optimizing for short-term wins. Growth teams operate at a pretty fast pace, and our team is no exception. We’re always running dozens of experiments at any given time, and once we find something that works, we ship it and move on to the next experiment. However, sometimes it’s important to take a step back and validate that a new tweak or feature really delivers long-term sustainable growth and isn’t just a short-term win that users will get tired of after prolonged exposure.

Pinterest engineering blog

  • Back to all posts
  • Feb 6, 2015
  • Share

Discover Pinterest: Search and Discovery

Kevin Jing

As we continue to focus on making search improvements and building a discovery engine, we recently invited members of the local search communities to Pinterest for a Discover Pinterest event. Hugh Williams joined a few Pinterest engineers to keynote the event and share insights he’s learned from over two decades in the field.

Pinterest engineering blog

  • Back to all posts
  • Feb 3, 2015
  • Share

How we made JavaScript testing 15x faster

David West

David is a software engineer on the Web team

Testing is an important pillar in our engineering infrastructure. We have hundreds of A/B experiments running at any given time. To keep these experiments running smoothly, it’s critical to have numerous tests running as part of the build.

Pinterest engineering blog

  • Back to all posts
  • Jan 30, 2015
  • Share

A look behind search guides

Kevin Ma

Kevin is a software engineer at Pinterest on the Discovery team

We launched Guided Search last year to give Pinners an exploratory search where they can discover the best ideas by clicking different guides to filter results.

Pages

Subscribe to RSS - Pinterest