Back to list

DevOps Roadmap

A step-by-step guide on what to learn and in what order to become a DevOps engineer.

DevOps Roadmap en posts devops roadmap A step-by-step guide on what to learn and in what order to become a DevOps engineer.

Overview

DevOps covers a wide range of topics, which can make it hard to know where to start. This post organizes what to learn in each phase, based on the order things are actually used in production.

Rather than completing each phase perfectly before moving on, it’s more effective to grasp the essentials and progress to the next stage.

1. Foundations — Linux, Networking, Git, Shell

Details

The starting point for DevOps is understanding server environments.

Linux

  • Process, CPU, memory, disk management
  • File permissions, ownership
  • systemd service management
  • Log analysis (journalctl, tail, grep)

Networking

  • IP, subnets, DNS fundamentals
  • HTTP, TCP/UDP, port concepts
  • Firewalls (iptables, security groups)
  • Proxies, load balancers basics

Git

  • Branching strategies (Git Flow, trunk-based)
  • merge vs rebase
  • Conflict resolution
  • Tags and releases

Shell Script

  • Automating repetitive tasks
  • Conditionals, loops, functions
  • set -e, error handling
  • 10-50 line operational scripts

Move through this phase quickly, with the goal of being able to SSH into a server and check its status when an incident occurs.

2. Containers and CI/CD (Continuous Integration / Continuous Delivery)

Details

The transition from deploying directly to servers to container-based deployments.

Docker

  • Image building and Dockerfile authoring
  • Layer caching, multi-stage builds
  • Docker Compose for local development environments
  • Pushing images to registries (Docker Hub, ECR, etc.)

CI/CD (Continuous Integration / Continuous Delivery)

  • Choose one of: GitHub Actions, GitLab CI, Jenkins
  • Pipeline structure: build → test → deploy
  • Environment variables, secrets management
  • Branch-based deployment strategies (dev, staging, production)

Python scripting

  • Writing deployment automation scripts
  • API calls (requests, boto3)
  • Log parsing, data processing
  • Building simple CLI tools

The most effective approach at this phase is to containerize a personal project with Docker and build a pipeline that auto-deploys on push.

3. Cloud and IaC (Infrastructure as Code)

Details

Moving from managing servers directly to managing cloud infrastructure as code.

Cloud (AWS-focused)

  • EC2 (virtual servers), VPC (virtual network), subnets, security groups
  • S3 (object storage), IAM (access management), RDS (managed database)
  • ELB — ALB (HTTP load balancer) / NLB (TCP load balancer), Route 53 (DNS)
  • CloudWatch basic monitoring

Terraform

  • HCL (HashiCorp Configuration Language) syntax, providers, resources
  • State management and remote backends
  • Building reusable structures with modules
  • plan → apply → destroy workflow

Ansible

  • Server configuration automation (package installation, file deployment, service management)
  • Playbook and role structure
  • Applying to multiple servers simultaneously
  • Combining Terraform for infrastructure + Ansible for configuration

This is where differentiation begins. Preparing for certifications like AWS Solutions Architect Associate alongside this phase helps your resume.

4. Orchestration and Monitoring

Details

Running containers at scale and observing system state.

Kubernetes

  • Pod, Service, Deployment, ReplicaSet
  • ConfigMap, Secret
  • Ingress, network policies
  • Resource management (requests, limits)
  • kubectl usage and debugging

Helm

  • Understanding Chart structure
  • Environment-specific configuration with values.yaml
  • Using and customizing public Charts

Monitoring

  • Prometheus: metric collection, PromQL
  • Grafana: dashboard creation, alert configuration
  • Metric design: deciding what to measure

Logging

  • ELK Stack (Elasticsearch: search engine, Logstash: log collection/transformation, Kibana: visualization) or Loki
  • Centralized log collection
  • Log-based alerting

At this phase, building a project that deploys an app to K8s with monitoring and alerting connected makes a strong portfolio piece.

5. Advanced — Go, Security, SRE, GitOps

Details

Going deeper beyond the fundamentals.

Go

  • Docker, Kubernetes, Terraform, Prometheus are all written in Go
  • Building CLI tools
  • K8s Operator, custom exporter development
  • Single binary deployment advantage

Security

  • Secrets management (Vault, AWS Secrets Manager)
  • Network policies, RBAC (Role-Based Access Control)
  • Container image vulnerability scanning
  • Supply chain security

SRE (Site Reliability Engineering)

  • SLO (Service Level Objective) / SLI (Service Level Indicator) definition and error budgets
  • Incident response processes
  • Postmortem writing
  • Chaos Engineering (fault injection testing)

GitOps

  • ArgoCD or Flux
  • Git as single source of truth
  • Declarative deployment and auto-sync
  • Rollback strategies

This phase takes you from junior to mid-level and beyond as a DevOps/SRE engineer.

Study Approach

Building one project per phase is the most effective method.

Phase Project example
Phase 1 Write a server health check shell script
Phase 2 Dockerize a personal app and auto-deploy with GitHub Actions
Phase 3 Provision VPC + EC2 + RDS on AWS with Terraform
Phase 4 Deploy app to K8s + Prometheus/Grafana monitoring
Phase 5 Build a GitOps pipeline with ArgoCD

Rather than understanding everything perfectly before moving on, building things hands-on and filling gaps as you encounter them is the realistic approach.

Summary

DevOps is less about deep-diving into a single tool and more about the ability to connect multiple tools into a working flow. Start from Linux, then connect containers, CI/CD, cloud, and orchestration one by one.