I'm new to DevOps and have started learning Docker, Git, GitHub, and GitLab. Now I'm unsure what to prioritize next because there are so many tools and learning roadmaps. Should I focus first on Linux, Kubernetes, CI/CD, Terraform, Ansible, a cloud platform, or monitoring tools such as Prometheus and Grafana? If you were starting over today, what order would you recommend, and what projects or resources helped you become comfortable with DevOps?
4 Answers
Networking and security deserve attention before going too far into cloud platforms or Kubernetes. Learn DNS, HTTP, TLS, routing, ports, firewalls, and basic identity and access management. Otherwise, you may be able to connect services together without understanding what is happening when something breaks.
Start with Linux fundamentals, especially the shell, processes, filesystems, permissions, networking, and troubleshooting. Docker makes much more sense once you understand the Linux environment underneath it. A small home lab or virtual machine is a great way to practice, and try using the terminal for everyday tasks instead of relying only on a graphical interface.
Build and deploy something instead of staying in tutorial mode. Start by running an application in Docker, put it behind a reverse proxy, automate its tests and deployment with CI/CD, and provision the infrastructure with Terraform. Once the application outgrows a simple setup, experiment with Kubernetes. A small server or virtual lab is enough, and deliberately troubleshooting failures will teach you more than memorizing a long list of tools.
I like that approach. I’ve started looking at Kubernetes, but I’ll make sure to build a complete project and learn the surrounding Linux, networking, and deployment concepts instead of only following isolated tutorials.
Avoid trying to learn every tool as a separate subject. Pick a small application and improve its deployment step by step. A practical order would be Linux, networking, Git, Docker, one cloud provider, CI/CD with GitHub Actions or GitLab CI, Terraform, Kubernetes, and finally monitoring and logging. Each tool becomes easier to understand when you have a real problem to solve.

That makes sense. I have access to both macOS and Windows, so I’ll start practicing terminal commands and Linux fundamentals right away.