Platform Engineer Roadmap: a step-by-step learning path
Free platform engineer roadmap in 8 stages: containers, Kubernetes, Terraform, GitOps, observability, security and Backstage, with docs and a project per step.
This platform engineer roadmap takes you from the basics to building an internal developer platform, one stage at a time. Every stage links to official documentation or a free tutorial, and ends with something small to build, so you finish with working projects and not only notes.
A platform engineer builds the things every team would otherwise build for itself: a way to create a service, a pipeline, somewhere to run it, monitoring and secrets. The team builds it once, as a product, for the developers who use it. That product is the internal developer platform, and the best result is a golden path: pick a template and get a repository, a pipeline, a deployed service and dashboards, without opening a ticket.
The CNCF's Platforms white paper puts it as platforms that curate and present foundational capabilities to internal customers such as application developers, and describes platform engineering as inspired by the cross-functional cooperation DevOps promised.
The test of a good platform is simple: developers choose to use it. If they still need a ticket, it isn't a platform yet.
The platform engineer roadmap at a glance
- Foundations: Linux, networking, Git, scripting
- Containers: Docker and images
- Kubernetes: run and understand a cluster
- Infrastructure as code: Terraform or OpenTofu, Crossplane
- CI/CD and GitOps: pipelines, Argo CD or Flux
- Observability and reliability: metrics, logs, traces, SLOs
- Security and policy: supply chain, policy as code
- The platform itself: templates, a portal, product thinking
What does a platform engineer do?
- Builds and runs the shared tooling developers use to ship: templates, pipelines, environments and the portal that ties them together.
- Treats developers as customers: asks what slows them down, builds the smallest thing that fixes it, and checks whether it gets used.
- Sets safe defaults, so security, monitoring and cost controls come built in instead of being added later.
- Works with SRE and security teams, and keeps the platform reliable and upgradable.
DevOps is a way of working. SRE keeps production reliable, with SLOs and error budgets. Platform engineering builds the tools that make both easier. The longer comparison is in Platform engineering vs DevOps vs SRE.
Start here: eight stages
Work through the stages in order, and build the small thing at the end of each one before moving on.
1. Foundations
Linux, networking, Git and a scripting language. You can't build a platform on things you can't debug.
- The Missing Semester of Your CS Education (MIT): shell, scripting, Git, debugging
- Learn Shell: interactive shell scripting
- Pro Git, the official book
- Learn Git Branching: visual, interactive Git
- The Python tutorial: one scripting language is enough, and Python is a common choice
- DevOps roadmap (roadmap.sh) and Linux roadmap: pick the topics you are missing
Build: write a shell script that checks a service is healthy and exits non-zero when it isn't.
2. Containers
Build, run and shrink images, then run several together.
- Docker: Get started
- Dockerfile best practices
- Play with Docker: a free browser sandbox
- Open Container Initiative: the standards behind images and runtimes
- Docker roadmap (roadmap.sh)
Build: containerise one app with a multi-stage Dockerfile.
3. Kubernetes
Pods, Deployments, Services, Ingress or Gateway API, storage and RBAC. Then run a cluster yourself so you know what is underneath.
- Kubernetes concepts and tutorials
- Killercoda: free interactive Kubernetes scenarios in the browser
- Gateway API: the successor model to Ingress
- Network policies
- Kubernetes the Hard Way: build a cluster by hand
- Kubernetes failure stories: learn from other people's outages
- Kubernetes roadmap (roadmap.sh)
Build: deploy the container from stage 2 with a Deployment, a Service and an Ingress or Gateway.
4. Infrastructure as code
Everything the platform runs on should come from code you can review.
- Terraform tutorials (HashiCorp) and the AWS get started track
- Terraform recommended practices
- OpenTofu docs: the open-source fork of Terraform, largely compatible
- Crossplane docs: infrastructure as Kubernetes resources, a common next step for platform teams
- Terraform roadmap and AWS roadmap (roadmap.sh)
- Note: Using Terraform to bootstrap GitHub CI
Build: create a network and a small cluster from code, then destroy it.
5. CI/CD and GitOps
A change in Git becomes a running change, and the cluster is made to match Git.
- GitHub Actions documentation
- OpenGitOps principles
- Argo CD: Getting started
- Flux: Get started: the other main GitOps tool
- Argo Rollouts: canary and blue-green deployments
- DORA: the research behind software delivery metrics such as deployment frequency and lead time
Build: a pipeline that builds the image, and an Argo CD or Flux application that deploys it from a Git repository.
6. Observability and reliability
Dashboards and alerts come with every service on the golden path.
- Prometheus overview and alerting and recording rule practices
- Grafana documentation
- OpenTelemetry docs and the observability primer
- Google SRE book: Service Level Objectives and the SRE workbook
- Note: Service topology: real-time dependency mapping
Build: add metrics and a dashboard to the app, and one alert on an SLO.
7. Security and policy
Make the secure way the default, so developers don't have to remember it.
- Kubernetes security concepts and Pod Security Standards
- Kyverno: policy as code for Kubernetes
- SLSA: a framework for supply-chain integrity
- Sigstore: sign and verify images and artifacts
- Security hardening for GitHub Actions
- OWASP DevSecOps Guideline
Build: add a policy that rejects pods running as root, and sign the image your pipeline builds.
8. The platform itself
Now put it together as a product: templates, a portal, and defaults that make the right thing the easy thing.
- What is Backstage? and Getting started
- Backstage software templates and TechDocs
- Kratix: a framework for building platforms as a product
- Team Topologies: how a platform team works with the teams it serves
- CNCF Platform Engineering Maturity Model
- CNCF TAG App Delivery: the working group behind the platforms papers
- CNCF Landscape: see what exists before you build it
- Notes: Internal developer platform, Golden path, Abstraction, Decoupling
Build: a Backstage template that creates a repository with a pipeline, a Deployment and a dashboard in one step. That is your golden path.
How to become a platform engineer
- Pick a real target. Choose one kind of service, for example a small web API, and make it the thing your platform serves.
- Build the path end to end. Containerise it, run it on Kubernetes, create the infrastructure with Terraform, deploy it with GitOps, add monitoring and a policy check.
- Turn it into a template. Anyone should be able to get a working copy in one step. This is the project to show in a portfolio or an interview.
- Get a user. Ask a colleague or friend to use it and watch where they get stuck. Fix that first.
- Write it down. Short docs and a diagram of how it fits together show the product thinking this role needs.
Books, talks and communities
- Team Topologies by Matthew Skelton and Manuel Pais
- Platform Engineering on Kubernetes by Mauricio Salatino
- Site Reliability Engineering, free online
- platformengineering.org: the community's articles and talks
- CNCF on YouTube: KubeCon talks on platforms and every tool above
Certifications
The Linux Foundation offers the Certified Cloud Native Platform Engineering Associate (CNPA). The Kubernetes certifications (CKA, CKAD, CKS) are a good way to prove stage 3.
Platform engineer roadmap: common questions
Do I need to know Kubernetes to be a platform engineer?
Many platforms are built on Kubernetes, so it is worth learning well, but the role is not only Kubernetes. The skills that carry over are the ones in stages 4 to 8: infrastructure as code, delivery, observability, security and thinking of developers as users.
Do I need to be a developer?
You need to read and write code, mostly scripts, templates and small services. You do not need to be a full-time application developer, but you do need to understand how developers work and what slows them down.
What is the difference between platform engineering and DevOps?
DevOps is a way of working. Platform engineering builds the shared tools that make that way of working easy for everyone else. See Platform engineering vs DevOps vs SRE.
What is an internal developer platform?
The self-service layer a platform team offers, so developers can create, deploy and run services without filing tickets. See Internal developer platform.
Is Backstage the same as a platform?
No. Backstage is a developer portal framework. It can be the front door of a platform, but the platform is the templates, delivery, infrastructure and defaults behind it.
Where should I start if I already work in DevOps or as a sysadmin?
Start at stage 4 or 5 to fill gaps, then go straight to stage 8: build one golden path and get a real user for it. The product and user side is usually the new skill.
A last tip
Treat developers as your customers. Ask what slows them down, build the smallest thing that fixes it, and check whether they use it.