Developer Experience at Pinterest: The Journey to PinConsole
Pinterest faced engineering velocity challenges due to increasing technological complexity as its user base grew. The company recognized that its decentralized tool adoption strategy created bottlenecks and an overwhelming landscape for new engineers. To address this, Pinterest decided to reimagine its developer experience by building an Internal Developer Platform called PinConsole. PinConsole is a unified developer portal built on the open-source Backstage platform. This platform approach aims to create a consistent abstraction layer, allowing engineers to focus on business logic rather than infrastructure. After evaluating various solutions, Pinterest chose Backstage for its strong community adoption, extensible plugin architecture, and active development. PinConsole integrates with Pinterest’s internal authentication systems and LDAP for a unified entity model. The architecture utilizes PostgreSQL databases for data storage and applies Pinterest's Gestalt design system for UI consistency. A key component is the PinCompute plugin, a custom Kubernetes integration that simplifies managing workloads using Pinterest-specific abstractions. Personalized homepage widgets, like the GitHub integration, further enhance the developer experience by reducing context switching and providing relevant information.