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:
-
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.
-
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.
-
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