DevOps Engineer
Become employable as a junior DevOps or platform engineer, able to containerise, deploy and monitor a production service.
This is a starting point — make it yours
Use this goal to build your own roadmap — tailored to you and starting fresh.
Linux and networking
The ground everything else stands on.
Get comfortable on the Linux command line~16h
Filesystem, permissions, processes, systemd, journald, package managers, SSH.
Done when: you can diagnose a service that won't start using only the terminal.
Learn networking fundamentals~12h
DNS, TCP/IP, ports, HTTP/HTTPS, TLS certificates, firewalls, reverse proxies.
Done when: you can explain what happens between typing a URL and seeing a page.
Write useful shell scripts~8h
Bash with real error handling —
set -euo pipefail, argument parsing, exit codes.Done when: your script fails loudly rather than continuing after an error.
Containers
How software gets shipped now.
Learn Docker properly~12h
Images vs containers, layers, multi-stage builds, volumes, networks, and why your image is 1.2GB.
Done when: you can get an image under 200MB with a multi-stage build.
Orchestrate with Kubernetes~20h
Pods, Deployments, Services, ConfigMaps, Secrets, Ingress. Run it locally with k3s or kind.
Done when: you can deploy a two-service app and expose it.
Automation
Doing it once, reproducibly.
Build a CI/CD pipeline~12h
GitHub Actions: run tests on every push, build an image, deploy on merge to main.
Done when: a failing test blocks the merge.
Learn infrastructure as code~16h
Terraform. Provision real infrastructure from a file, and understand state.
Done when: you can destroy and recreate your whole environment from the repo.
Operations
Knowing something is wrong before your users tell you.
Set up monitoring and alerting~12h
Prometheus and Grafana. Pick metrics that indicate user pain, not just CPU.
Done when: an alert fires for something a user would actually notice.
Centralise your logs~10h
Structured logging, aggregation, and searching across services.
Done when: you can trace one request across two services.
Run a failure drill~8h
Break something on purpose — kill a pod, fill a disk, revoke a credential. Practise diagnosing and recovering.
Done when: you've written a short runbook from what you learned.