How to design and build an internal developer platform. Covers golden paths, self-service infrastructure, developer experience metrics, and platform team operating models.
Platform engineering is the discipline of building and maintaining the internal developer platform (IDP) that enables self-service infrastructure, automated compliance, and standardized deployment paths. Done right, it eliminates the ticket-driven bottleneck between development and operations. Done wrong, it creates a new bottleneck with extra steps.
The fundamental insight: developers don’t want infrastructure autonomy — they want infrastructure that works without thinking about it. The best platform is invisible. It handles provisioning, security, compliance, and deployment while developers focus entirely on business logic.
A golden path is an opinionated, optimized route through the platform that handles 80% of use cases without any configuration. Teams that deviate from the golden path accept full operational responsibility for their choices.
1. Developer runs `platform create service --name order-api --lang go`
2. Platform generates:
├── Repository with CI/CD pipeline
├── Docker + Kubernetes manifests
├── Development, staging, production environments
├── Monitoring dashboards + alerting rules
├── Database (PostgreSQL) with backup configuration
├── Secret management (Vault integration)
├── Service mesh enrollment
└── Developer documentation skeleton
3. First deployment happens in < 15 minutes
4. Full production readiness in < 1 hour
The golden path reduces “time to first deployment” from 2-3 weeks to under an hour. This isn’t just an efficiency gain — it eliminates an entire class of configuration errors that plague manual setups.
A curated menu of infrastructure components that developers can provision on-demand:
| Component | Self-Service? | Approval Required? |
|---|---|---|
| PostgreSQL database | ✅ | No |
| Redis cache | ✅ | No |
| Kafka topic | ✅ | No |
| Public API endpoint | ✅ | Security review |
| VPN connection | ❌ | Network team |
| Cross-account IAM | ❌ | Security team |
The rule: if a component can be provisioned safely with guardrails, make it self-service. If it can create security or cost risks, require lightweight approval.
Developers should provision and tear down environments without tickets:
# platform.yaml (in repo root)
environments:
dev:
replicas: 1
resources: small
database: shared-dev
auto-destroy: 7d
staging:
replicas: 2
resources: medium
database: dedicated
auto-destroy: 30d
production:
replicas: 3
resources: large
database: dedicated-ha
auto-destroy: never
Auto-destroy policies prevent environment sprawl. Development environments that haven’t been used in 7 days get automatically cleaned up, saving 30-50% on non-production costs.
Don’t ask developers to configure monitoring. Bake it into the platform:
Platform success is measured by developer productivity, not infrastructure metrics.
| Metric | Target | How to Measure |
|---|---|---|
| Time to first deploy | < 1 hour | From git init to production traffic |
| Deploy frequency | Multiple per day per team | CI/CD pipeline observations |
| Lead time | < 1 day | Commit to production |
| Change failure rate | < 5% | Rollbacks / total deploys |
| Developer satisfaction | > 4/5 | Quarterly survey (NPS) |
| Self-service rate | > 90% | Requests fulfilled without tickets |
If the self-service rate is below 80%, your platform has gaps. Every ticket represents a missing capability or a UX problem in your platform.
Rule of thumb: 1 platform engineer per 10-15 application developers. A 100-person engineering org needs a 7-10 person platform team.
The platform team’s job is to enable, not control. If developers see the platform team as a bottleneck, you’ve failed. Signs of trouble:
Start narrow. A golden path that works perfectly for one stack is infinitely more valuable than a platform that half-works for five stacks.
Jakub holds an M.S. in Customer Intelligence & Analytics and a B.S. in Finance & Computer Science from Pace University. With deep expertise spanning D365 F&O, Azure, Power BI, and AI/ML systems, he architects enterprise solutions that bridge legacy systems and modern technology — and has led multi-million dollar ERP implementations for Fortune 500 supply chains.
View Full Profile →Make informed build-versus-buy decisions for platform components. Covers total cost of ownership analysis, evaluation criteria, vendor lock-in assessment, hybrid approaches, and the decision framework that prevents both NIH syndrome and vendor dependency.
Read guide →Design developer tooling and workflows that eliminate friction, reduce wait times, and let engineers focus on building features instead of fighting infrastructure. Covers local development environments, CI/CD experience, documentation, onboarding, inner loop optimization, and the metrics that measure whether your platform is actually helping.
Read guide →Design internal developer platforms that engineers actually want to use. Covers developer productivity metrics, golden paths, self-service infrastructure, developer portal design, and the patterns that reduce friction between writing code and deploying it.
Read guide →We use cookies for analytics (Google Analytics) and advertising (Google AdSense) to improve your experience and support free content. Privacy Policy