4 min read
On this page

Developer Experience as a Product

The platform team has customers. They are internal, but they are customers. If you treat your internal developer platform like a side project maintained in spare time, developers will route around it. If you treat it like a product -- with user research, roadmaps, metrics, and iteration -- developers will adopt it and rely on it.

The Product Mindset

A product has users, a value proposition, and success metrics. Your platform is no different.

Product: Internal Developer Platform
Users: Product engineers (50-500+ depending on org)
Value proposition: Ship to production faster with less friction
Success metrics:
  - Time from commit to production
  - Time to onboard a new engineer
  - Developer satisfaction score
  - Percentage of teams using the golden path

The platform team's job is not to build infrastructure for its own sake. It is to make product engineers more productive. Every feature, every investment, every priority decision should be evaluated against that goal.

Measuring Developer Experience

You cannot improve what you do not measure. There are quantitative metrics and qualitative signals, and you need both.

Quantitative Metrics

Time from commit to production (deployment lead time)
  - Measures the full pipeline: push → CI → staging → production
  - Target: under 30 minutes for most services
  - If it takes hours, your pipeline is the bottleneck

Time to onboard a new engineer
  - From first day to first production deploy
  - Target: under one day
  - If it takes weeks, your platform is failing

CI pipeline duration
  - How long does a build-and-test cycle take?
  - Target: under 10 minutes
  - Every minute over 10 is lost developer productivity

Deploy frequency per team
  - How often do teams deploy?
  - Low frequency often signals fear of deploying, not lack of work

Change failure rate
  - What percentage of deployments cause incidents?
  - High rates indicate insufficient testing or unsafe deploy processes

Mean time to recovery (MTTR)
  - When something breaks, how fast is it fixed?
  - A good platform makes rollbacks trivial

Qualitative Signals

Numbers tell you what is happening. Surveys and interviews tell you why.

Internal NPS (Net Promoter Score):
  "On a scale of 0-10, how likely are you to recommend our
   deployment pipeline to a colleague?"
  
  Promoters (9-10): Love it, advocate for it
  Passives (7-8): It works, not excited
  Detractors (0-6): Actively frustrated

  NPS = % Promoters - % Detractors
  
  Good internal NPS: > 30
  Great internal NPS: > 50

Developer Surveys

Run a developer experience survey quarterly. Keep it short. Ask specific questions.

Example survey questions:

1. How confident are you deploying to production on a Friday?
   [1-5 scale]

2. When you last created a new service, how long did it take
   to get it running in production?
   [< 1 hour / 1-4 hours / 1 day / 2-5 days / > 1 week]

3. What is the most frustrating part of your development workflow?
   [Free text]

4. What is one thing the platform team could do to make your
   life easier?
   [Free text]

5. How easy is it to find documentation for our internal tools?
   [1-5 scale]

The free-text answers are gold. They tell you what developers actually struggle with, not what you assume they struggle with.

The Platform Team Has Customers

This is the most important mental shift. Your developers are not users who should be grateful for whatever you build. They are customers who will evaluate your platform against alternatives -- including doing things manually, writing their own scripts, or ignoring the platform entirely.

Signs your platform team thinks like a product team:
  - You have a roadmap informed by developer feedback
  - You track adoption metrics
  - You run regular user interviews
  - You have a changelog that developers actually read
  - You prioritize based on impact, not what is technically interesting
  - You sunset tools that are not being used

Signs your platform team thinks like an infrastructure team:
  - You build what you think is cool
  - You do not know your adoption numbers
  - You have never talked to a developer about their experience
  - Your documentation is incomplete or outdated
  - You prioritize reliability over usability
  - You announce changes without migration paths

Iterate Based on Feedback, Not Assumptions

The platform team's biggest risk is building what they think developers need instead of what developers actually need.

How to Gather Feedback

1. Developer surveys (quarterly)
   - Quick, structured, tracks trends over time

2. User interviews (monthly)
   - Sit with 3-5 developers from different teams
   - Watch them use the platform
   - Ask: "What was the last thing that frustrated you?"

3. Support channels
   - Slack channel for platform questions
   - Track the most common questions -- they reveal gaps
   - If the same question is asked 10 times, the docs are wrong
     or the UX is bad

4. Shadowing
   - Watch a new engineer set up their environment
   - Note every point where they get stuck
   - Fix those friction points

5. Office hours
   - Weekly drop-in session
   - Developers bring problems, platform team helps
   - Patterns in the problems reveal systemic issues

Prioritization

Use impact and frequency to prioritize.

High frequency + High impact = Do this first
  Example: Deploys take 45 minutes (affects every developer, every day)

High frequency + Low impact = Automate or document
  Example: "How do I check my service's logs?" (easy to answer, common question)

Low frequency + High impact = Schedule it
  Example: Database migration tooling (rare but painful when needed)

Low frequency + Low impact = Ignore it
  Example: Support for an obscure build tool used by one team

Building a Platform Roadmap

A platform roadmap looks like a product roadmap. It has themes, milestones, and timelines.

Q1: Foundation
  - Service template v2 (add tracing, standardize health checks)
  - Deploy pipeline: reduce median time from 20 min to 10 min
  - Service catalog: auto-sync from repos

Q2: Self-Service
  - Database provisioning via CLI (no more tickets)
  - Secret management integration (Vault self-service)
  - Environment spinning for feature branches

Q3: Observability
  - Unified dashboard per service (metrics, logs, traces)
  - SLO tracking and error budget visibility
  - Automated anomaly detection alerts

Q4: Developer Experience
  - Local development parity with production
  - IDE integration for platform tools
  - Developer satisfaction target: NPS > 40

Share the roadmap with developers. Let them see what is coming and provide input.

Communication

The platform team must communicate like a product team communicates with its users.

Changelog:
  - Published with every significant change
  - Explains what changed, why, and how to use it
  - Includes migration steps for breaking changes

Announcements:
  - New features announced in the engineering Slack channel
  - Include a "getting started" link
  - Celebrate wins: "Deploy time reduced from 20 min to 8 min"

Deprecation notices:
  - Give at least 30 days notice before removing a feature
  - Provide a migration path
  - Offer help with migration

Real-World Example

A SaaS company with 120 engineers had an internal platform that nobody liked. Deployment was unreliable, documentation was sparse, and the platform team had no idea what developers thought because they had never asked.

They hired a product-minded engineering manager for the platform team and made three changes:

  1. Ran a developer survey. Results were brutal: NPS of -15. The top complaint was that deploys were flaky and took 30+ minutes. Second complaint: no documentation for the deploy pipeline.

  2. Fixed the top complaint first. They stabilized the deploy pipeline and cut deploy time to 8 minutes. This was not technically glamorous, but it affected every developer every day.

  3. Started a monthly developer interview program. They talked to five developers from different teams each month. Within three months they had a backlog of actionable improvements ranked by impact.

Six months later, NPS was 35. Deploy reliability went from 85% to 99.5%. The platform team went from being a team people complained about to a team people praised in all-hands meetings.

Common Pitfalls

  • Not measuring anything -- Without metrics, you cannot tell if the platform is improving or declining; track at least deployment lead time, onboarding time, and developer satisfaction
  • Measuring the wrong things -- Tracking the number of Kubernetes clusters or CI pipelines tells you about infrastructure, not developer experience; measure outcomes, not outputs
  • Ignoring qualitative feedback -- Surveys and metrics miss context; a developer saying "I dread deploying on Fridays" tells you more than a deploy success rate of 97%
  • Building for yourself -- Platform engineers are not typical users; what feels obvious to you may be confusing to a product engineer who has never seen a Kubernetes manifest
  • No migration paths -- Changing the platform without helping teams migrate creates chaos; every breaking change needs a migration guide and a reasonable timeline
  • Treating internal tools as second-class -- Internal tools deserve the same code quality, testing, and documentation as production-facing products; sloppy internal tools erode trust

Key Takeaways

  • Treat your internal developer platform as a product with users, metrics, and a roadmap
  • Measure both quantitative metrics (deploy time, onboarding time, failure rate) and qualitative signals (NPS, surveys, interviews)
  • The platform team's customers are internal developers -- iterate based on their feedback, not your assumptions
  • Prioritize by impact and frequency: fix the things that affect the most developers the most often
  • Communicate changes through changelogs, announcements, and deprecation notices
  • The goal is developer productivity: every platform decision should be evaluated against this