Skip to content
All roadmaps

DevOps Engineer

A practical path from Linux and networking basics to running containerized services on Kubernetes in AWS, with pipelines, infrastructure as code and monitoring along the way. It ends where platform engineering begins: turning all of that into secure, self-service paths other developers can use.

9 stages62 topicsAbout 9-11 months at 10 hours a week
Before you start
Comfort installing software and using a terminal, plus some experience writing code in any language. You do not need to be a developer already, but having built a small web app helps, because most projects in this path deploy one.
Where it gets you
You can set up and harden servers, build secure container images, ship code through CI/CD, provision AWS with Terraform or OpenTofu, run services on Kubernetes with GitOps, and keep them observable and recoverable. That covers what junior DevOps, cloud and SRE job posts ask for and gives you a solid base for platform engineering.

0 of 62 topics done

Tick a topic once you can explain it and have used it in a project. Progress is saved in this browser.

  • Core
  • Recommended
  • Optional
  • Done
  1. 1

    Linux and Networking Foundations

    About 5-6 weeks0/7

    Run, secure and debug a Linux server, and explain how a request travels from a browser to your app.

    Build: Harden and Serve a Small Server

    On a cheap cloud VM or a local VM, create a sudo user, switch SSH to keys only, enable a firewall, and run a small web app as a systemd service behind Nginx with a Let's Encrypt certificate. Record every step in a README so you can rebuild the server from scratch.

  2. 2

    Scripting and Version Control

    About 3-4 weeks0/6

    Automate routine server tasks with Bash and Python, and collaborate on infrastructure code through Git and pull requests.

    Build: Server Health Check Toolkit

    Write a Bash script and a Python CLI that check disk space, memory, a systemd service and an HTTP endpoint, print the results as JSON and exit non-zero on failure. Keep them in a GitHub repo with branch protection and land every change through a pull request.

  3. 3

    Containers with Docker

    About 3-4 weeks0/7

    Package any app into a small, secure image and run a multi-service stack locally with one command.

    Build: Containerize a Three-Service App

    Write multi-stage Dockerfiles for an API and a frontend, run them with Postgres through Compose with health checks, and push SHA-tagged images to GHCR. Set a size budget for each image and get the scan down to zero critical vulnerabilities.

  4. 4

    CI/CD Pipelines

    About 3-4 weeks0/7

    Build a pipeline that tests, scans and ships every merged change to staging and production, with a safe way back.

    Build: Commit-to-production Pipeline

    Build a GitHub Actions workflow that lints, tests, builds, scans and pushes your app image tagged with the commit SHA, deploys it to your stage one server as staging, and gates a production job behind a manual approval. Keep secrets in environments, pin actions to SHAs and document how to roll back to the previous image.

  5. 5

    Cloud Fundamentals on AWS

    About 5-6 weeks0/7

    Design, build and secure a simple production setup on AWS by hand, and explain what each piece costs.

    Build: Two-tier App on AWS, by Hand

    In the console, build a VPC with public and private subnets, an ALB in front of an Auto Scaling group of EC2 instances, and an RDS database in the private subnets, with CloudWatch alarms and a monthly budget alert. Draw the architecture, note what each part costs, then tear it all down.

  6. 6

    Infrastructure as Code

    About 4-5 weeks0/7

    Rebuild a whole environment from code, review infrastructure changes in pull requests and configure servers repeatably.

    Build: Rebuild the AWS Setup as Code

    Recreate your stage five environment with Terraform or OpenTofu modules, remote state in S3 and one folder per environment, running plan on pull requests and apply on merge through OIDC. Add an Ansible playbook that configures the instances, then destroy and recreate everything to prove it works.

  7. 7

    Kubernetes and GitOps

    About 6-8 weeks0/7

    Deploy, expose, scale and debug services on a Kubernetes cluster, and let Git drive every change to it.

    Build: GitOps-managed Cluster

    Create a cluster with kind or with EKS from your Terraform code, package your app as a Helm chart with requests, limits, probes and an autoscaler, and expose it through the Gateway API. Install Argo CD and have it sync separate staging and production overlays from Git, so a merged pull request is the only way to change the cluster.

  8. 8

    Observability and Reliability

    About 4-5 weeks0/7

    Notice when a service is unhealthy before users do, find out why, and recover data and service after a failure.

    Build: Give Your App an SLO

    Instrument the app with Prometheus metrics, OpenTelemetry traces and structured logs, build a Grafana dashboard, and define an availability SLO with burn-rate alerts. Then break something on purpose, restore the database from a backup, and write a blameless postmortem.

  9. 9

    DevSecOps and Platform Engineering

    About 5-6 weeks0/7

    Secure the path from commit to production and package it as a self-service golden path that other developers use without asking you.

    Build: Paved Road for a New Service

    Build a Backstage software template, or a plain template repo, that creates a new service with a Dockerfile, Helm chart, CI pipeline, signed images, an SBOM, secrets pulled from a secret manager, cost tags and a starter dashboard. Time how long it takes a teammate to go from nothing to a running service, and fix the slowest step.

  10. Where it gets you

    You can set up and harden servers, build secure container images, ship code through CI/CD, provision AWS with Terraform or OpenTofu, run services on Kubernetes with GitOps, and keep them observable and recoverable. That covers what junior DevOps, cloud and SRE job posts ask for and gives you a solid base for platform engineering.

Last reviewed .