DevOps Engineer Roadmap
A step-by-step DevOps Engineer roadmap: the full stack, the skills to learn in order and the best places to learn each step.
The stack, end to end
- Fundamentals: Linux command line, File permissions, Processes, Shell scripting, IP addressing, TCP and UDP, DNS, Firewalls, Load balancing, Git, GitHub, Branching and merging, Pull requests
- DevOps: Docker, Dockerfile, Docker Compose, Container networking, CI/CD, GitHub Actions, Automated deployment, Secrets management, Kubernetes, Pods and deployments, Services and ingress, kubectl, Terraform, Infrastructure as code, Ansible, Monitoring, Logging, Prometheus, Grafana, Alerting
- Cloud: AWS, EC2 and Lambda, S3, IAM, VPC
- Get hired: Portfolio projects, Technical resume, Interview preparation
Linux and the command line
Servers mostly run Linux. Learn to move around the file system, read and edit files, manage permissions and processes, and write small shell scripts.
Skills
- Linux command line
- File permissions
- Processes
- Shell scripting
Tips
- Use the terminal for everyday tasks for a few weeks and it will start to feel natural.
Where to learn
- Linux Journey (course, free)
- Bash reference manual (docs, free)
Networking basics
Understand IP addresses, ports, TCP and UDP, DNS, firewalls, load balancers and how traffic gets from one machine to another. Cloud, DevOps and security work all depend on it.
Skills
- IP addressing
- TCP and UDP
- DNS
- Firewalls
- Load balancing
Tips
- Draw the path of a request from your laptop to a website, step by step.
Where to learn
- Cloudflare: Learning Center (docs, free)
- MDN: HTTP (docs, free)
Version control with Git and GitHub
Git records the history of your code and lets teams work on the same project. Learn to commit, branch, merge, resolve conflicts and open a pull request on GitHub. Almost every software job expects it.
Skills
- Git
- GitHub
- Branching and merging
- Pull requests
Tips
- Put every practice project on GitHub. It doubles as your portfolio.
Where to learn
- Pro Git book (book, free)
- GitHub Skills (practice, free)
Docker and containers
A container packages an app with everything it needs so it runs the same everywhere. Learn images, containers, volumes, networks, Dockerfiles and Docker Compose.
Skills
- Docker
- Dockerfile
- Docker Compose
- Container networking
Tips
- Containerise one of your own projects end to end.
Where to learn
- Docker: Get started (docs, free)
- Play with Docker (practice, free)
CI/CD and automation
Continuous integration runs your tests on every change, and continuous delivery deploys safely. Learn pipelines, build artifacts, secrets and a simple release process, for example with GitHub Actions.
Skills
- CI/CD
- GitHub Actions
- Automated deployment
- Secrets management
Tips
- Make a pipeline that runs tests on every push to your project.
Where to learn
- GitHub Actions documentation (docs, free)
Kubernetes
Kubernetes runs and scales containers across many machines. Learn pods, deployments, services, config, storage and how to debug a failing workload.
Skills
- Kubernetes
- Pods and deployments
- Services and ingress
- kubectl
Tips
- Learn Docker properly first. Kubernetes builds on it.
Where to learn
- Kubernetes tutorials (docs, free)
- Kubernetes basics (docs, free)
Infrastructure as code
Describe servers, networks and databases in code so they can be reviewed, repeated and rolled back. Terraform is the most common tool; Ansible helps configure machines.
Skills
- Terraform
- Infrastructure as code
- Ansible
Tips
- Create and destroy a small environment several times until it is boring.
Where to learn
- Terraform tutorials (docs, free)
- Ansible documentation (docs, free)
Monitoring and logging
You cannot fix what you cannot see. Learn metrics, logs, dashboards and alerts so you notice problems before users do.
Skills
- Monitoring
- Logging
- Prometheus
- Grafana
- Alerting
Tips
- Alert on what users feel (errors and slowness), not on every small blip.
Where to learn
- Prometheus overview (docs, free)
- Grafana tutorials (docs, free)
Amazon Web Services (AWS)
Learn the core services: compute (EC2, Lambda), storage (S3), databases (RDS, DynamoDB), networking (VPC), identity (IAM) and monitoring. Use the free tier and set a budget alert.
Skills
- AWS
- EC2 and Lambda
- S3
- IAM
- VPC
Tips
- Set a billing alert before you create anything, and delete what you are not using.
Where to learn
- AWS Skill Builder and training (course, free)
- AWS documentation (docs, free)
Build your portfolio, resume and interview skills
Employers want proof. Finish two or three projects you can show and explain, put them on GitHub, write a clear resume that matches the jobs you apply for, and practise the interview questions for the role.
Skills
- Portfolio projects
- Technical resume
- Interview preparation
Tips
- Describe what you built, why, and what you would improve. That is what interviewers ask about.
Build your resume · Check your resume (ATS) · Interview questions · Salaries · Browse jobs
Frequently asked questions
Where should I start with DevOps Engineer?
Start at step 1 and work down in order, because later steps build on earlier ones. If you are signed in, the roadmap compares your resume with each step and marks where you could start.
Do I need a degree to work as a DevOps Engineer?
It depends on the employer and the country. Many employers accept proven skills and projects, while others ask for a degree. Read the adverts for the roles you want and ask the employer if it is unclear.
How do I know I am ready to apply?
When you can build a small project from start to finish without copying a tutorial, and explain why you made your choices. Apply while you keep learning; you do not need to know everything.