🎉 DevOps Interview Prep Bundle is live — 1000+ Q&A across 20 topicsGet it →
All Articles

How to Switch from QA to DevOps in 2026 — Realistic Roadmap

Many QA engineers are switching to DevOps — the skills overlap more than you think. Here's the honest roadmap, what to learn, how long it takes, and how to make the move.

DevOpsBoys5 min read
Share:Tweet

QA to DevOps is one of the most natural career transitions in tech. Here's why — and exactly how to make it.


Why QA Engineers Make Great DevOps Engineers

The overlap is larger than most people realize:

You already understand:

  • Software development lifecycle
  • Environments (dev, staging, prod) and their differences
  • CI/CD pipelines (you run tests in them)
  • Bug reporting, reproduction, and communication with developers
  • Scripting (most QA engineers write automation scripts)

What you need to add:

  • Infrastructure (Linux, cloud, containers)
  • Deployment tooling (Kubernetes, Terraform, Helm)
  • Monitoring and observability
  • Infrastructure as Code

You're not starting from scratch. You're adding a layer on top of what you know.


Honest Assessment: How Long Does It Take?

With focused effort (1–2 hours daily):

  • 3–4 months: Land a junior DevOps role or DevOps intern
  • 6–8 months: Land a mid-level DevOps role at a startup
  • 12 months: Land a role at a larger company with decent pay

These timelines assume you're actively building projects and applying — not just watching tutorials.


The Learning Path (In Order)

Phase 1: Linux + Scripting (Weeks 1–4)

If you've been running tests on Windows only, Linux is your first priority.

bash
# Learn these:
ls, cd, pwd, mkdir, rm, cp, mv    # file navigation
cat, grep, tail, head              # reading files/logs
ps, kill, top, htop               # process management
chmod, chown                       # permissions
ssh, scp                          # remote access
cron                              # scheduling

Bash scripting: Write scripts that automate repetitive tasks. Start simple:

bash
#!/bin/bash
# Your first useful script: find all failed tests in a log file
grep -i "FAIL\|ERROR" test-results.log | wc -l
echo "Failed tests: $?"

Python: You likely already know this from test automation. Focus on: file I/O, API calls with requests, JSON parsing. This is enough.

Resources: Linux Journey (linuxjourney.com), free. TryHackMe for hands-on labs.


Phase 2: Git + Docker (Weeks 4–8)

Git beyond basics:

  • Branching strategies (GitFlow, trunk-based)
  • Pull request workflows
  • Merge conflicts (you've seen these in QA, now understand them deeply)
  • git bisect, git stash, git rebase

Docker:

bash
# Build an image
docker build -t my-app:1.0 .
 
# Run a container
docker run -p 8080:8080 my-app:1.0
 
# Check what's running
docker ps
 
# Logs
docker logs my-container

Write a Dockerfile for an app you're familiar with testing. This is the hands-on step most tutorials skip.


Phase 3: CI/CD (Weeks 8–12)

You've run CI pipelines as a QA engineer. Now build one from scratch.

GitHub Actions:

yaml
# .github/workflows/ci.yml
name: CI Pipeline
 
on: [push, pull_request]
 
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Run tests
      run: |
        pip install -r requirements.txt
        pytest tests/
    
  build:
    needs: test
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Build Docker image
      run: docker build -t my-app:${{ github.sha }} .

Build a full pipeline that: runs tests → builds Docker image → pushes to a registry.

This is directly relatable to your QA background — you already understand why pipelines need quality gates.


Phase 4: Cloud Basics + AWS (Weeks 12–18)

Start with the AWS Free Tier. Don't pay for certifications yet — learn by doing.

Core services to understand:

  • EC2 — virtual machines
  • S3 — object storage
  • IAM — permissions and access control
  • VPC — networking
  • RDS — managed databases
  • ECS/EKS — container orchestration (can come later)

Project: Deploy your Docker container to EC2. Manually at first, then automate it from your CI/CD pipeline.


Phase 5: Kubernetes Basics (Weeks 18–24)

Kubernetes is the core of modern DevOps. It has a steep learning curve — budget 6 weeks.

Start with local Kubernetes (minikube or kind):

bash
# Install minikube
minikube start
 
# Deploy your app
kubectl apply -f deployment.yaml
 
# Check pods
kubectl get pods
 
# Logs
kubectl logs my-pod

Learn: Pods, Deployments, Services, ConfigMaps, Secrets, Namespaces.

Project: Deploy your Docker app on Kubernetes with a Service that exposes it externally.


Phase 6: Infrastructure as Code (Weeks 24–30)

Terraform is the standard:

hcl
# main.tf — create an EC2 instance
resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1d0"
  instance_type = "t3.micro"
  
  tags = {
    Name = "my-web-server"
  }
}

Project: Write Terraform to provision everything you deployed manually in Phase 4 and 5.


QA Skills That Transfer Directly

Test automation → Pipeline automation: Writing pytest/Selenium scripts is the same skill as writing bash/Python automation for deployments.

Test environments → Infrastructure environments: Managing dev/staging/prod test environments gave you intuition for environment consistency that many engineers lack.

Bug reproduction → Incident debugging: The systematic approach to reproducing bugs ("what exact steps led to this?") is exactly how good engineers debug production incidents.

Documentation: QA engineers write good bug reports. DevOps engineers need to write runbooks, postmortems, and architecture docs. Same skill, different domain.


Your Portfolio (What to Build)

By the end of 6 months, have these on GitHub:

  1. CI/CD pipeline — GitHub Actions that tests, builds, and deploys a simple app
  2. Dockerized app — any app, properly containerized with multi-stage build
  3. Kubernetes deployment — the same app on Kubernetes with proper YAML
  4. Terraform infrastructure — AWS resources provisioned as code
  5. Monitoring setup — Prometheus + Grafana monitoring the app

Each project needs a README explaining what it does and how to run it.


Applying for Jobs

Titles to search:

  • "Junior DevOps Engineer"
  • "DevOps Engineer - Entry Level"
  • "Platform Engineer"
  • "Infrastructure Engineer"
  • "Site Reliability Engineer - Associate"

In your resume/LinkedIn: Your QA experience is an asset. Frame it:

  • "Built and maintained automated test infrastructure using Selenium, Jenkins, and Docker"
  • "Managed test environments across dev/staging/prod, ensuring deployment consistency"
  • "Wrote Python automation scripts reducing manual test execution time by 60%"

Don't hide your QA background. DevOps engineers who understand testing are genuinely more valuable — they write better deployment checks and understand why quality gates matter.


Common Mistakes

Tutorial hell: Watching 100 hours of YouTube without building anything. The ratio should be 30% learning, 70% building.

Learning too many tools at once: Linux → Docker → GitHub Actions → AWS → Kubernetes — in order. Not simultaneously.

Not applying until "ready": You'll never feel ready. Start applying when you can deploy a Docker container to cloud. The rest you learn on the job.

Undervaluing QA experience: Companies want DevOps engineers who care about quality. That's you.


The QA → DevOps transition is one of the most achievable career moves in tech. You already understand the software lifecycle better than most developers. You just need to add the infrastructure layer.

🔧

Today I Fixed

Short real fixes from production — posted daily

Browse fixes
Newsletter

Stay ahead of the curve

Get the latest DevOps, Kubernetes, AWS, and AI/ML guides delivered straight to your inbox. No spam — just practical engineering content.

Related Articles

Comments