Developer Experience at Pinterest: The Journey to PinConsole

Pinterest Engineering
15 min readintermediate
--
View Original

Overview

The article discusses Pinterest's journey in enhancing developer experience through the creation of PinConsole, an Internal Developer Platform built on Backstage. It highlights the challenges faced due to tool fragmentation and the strategic decisions made to improve engineering velocity and productivity.

What You'll Learn

1

How to implement an Internal Developer Platform using open-source foundations

2

Why a unified developer experience reduces cognitive load

3

How to integrate existing tools into a cohesive platform

Prerequisites & Requirements

  • Understanding of Internal Developer Platforms and their benefits
  • Familiarity with Backstage and its plugin architecture(optional)

Key Questions Answered

What challenges did Pinterest face with tool fragmentation?
Pinterest encountered significant challenges with over 20 different internal tools leading to inconsistent workflows, confusion among engineers, and increased cognitive overhead. This fragmentation hindered productivity and necessitated a strategic shift towards a unified developer platform.
Why did Pinterest choose Backstage for their Internal Developer Platform?
Pinterest selected Backstage due to its strong community adoption, extensible plugin architecture, and active development support from Spotify and the CNCF. This choice aligned with their need for a customizable platform that could integrate existing tools while providing a consistent developer experience.
What are the key performance optimizations implemented in PinConsole?
To enhance performance, PinConsole employs data prefetching and caching strategies, code splitting using React.lazy, server-side rendering for critical pages, and a multi-level caching strategy. These optimizations ensure responsive user experiences and maintain sub-500ms response times even with increased user adoption.
How did Pinterest measure the success of PinConsole?
Success was measured through user adoption metrics, with over 700 engineers actively using PinConsole and a Net Promoter Score exceeding 70. Feedback indicated that the platform significantly improved daily workflows by consolidating tools and reducing cognitive load.

Key Statistics & Figures

Monthly Active Users
30%
Approximately 30% of Pinterest engineers are now Monthly Active Users of PinConsole.
User Adoption
700 engineers
PinConsole has seen substantial adoption, with over 700 engineers actively using the platform.
Net Promoter Score
>70
PinConsole's Net Promoter Score places it in the top tier of internal tools, indicating high user satisfaction.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Focus on integrating high-value tools first to drive adoption.
By prioritizing tools like GitHub and Jira, Pinterest quickly demonstrated the value of PinConsole, which encouraged more engineers to adopt the platform and engage with its features.
2
Invest in performance optimization before a wide rollout.
Ensuring that PinConsole performs well from the start was critical for user retention. Slow performance can deter adoption, making it essential to address this aspect early in the development process.
3
Maintain compatibility with upstream changes in open-source tools.
By customizing Backstage while ensuring compatibility with its updates, Pinterest can leverage community improvements and maintain a sustainable platform that evolves with user needs.

Common Pitfalls

1
Failing to address tool fragmentation can lead to decreased productivity.
As seen at Pinterest, allowing too many disparate tools to proliferate creates confusion and cognitive overhead, making it essential to consolidate tools into a unified platform.
2
Neglecting performance optimization can hinder user adoption.
Slow performance can deter users from adopting new platforms. Prioritizing performance improvements is crucial for ensuring a positive user experience and encouraging widespread use.

Related Concepts

Internal Developer Platforms
Developer Experience Optimization
Tool Integration Strategies