I'm a fourth-year engineering student interested in DevOps engineering. I'm looking for a practical learning roadmap, including which foundational skills to learn first, how to practice effectively, and whether there are any particularly useful video creators or courses worth following.
5 Answers
Set up a small cloud environment and experiment with tools such as GitHub Actions, Terraform or OpenTofu, and Docker. For example, deploy a simple application, automate its build and deployment, and define the infrastructure as code. Be careful with cloud costs and use budgets or limits before creating resources.
Some development experience will help a lot, especially writing scripts and understanding how applications are built and tested. You don’t have to become a full-time software developer first, but learn enough programming to automate repetitive work and understand the systems you deploy.
Focus on building real projects instead of spending most of your time watching tutorials. Start with Linux, networking, Git, and basic programming, then apply each skill to something you can actually run and troubleshoot. Keep your work in a public code repository with a clear README so it becomes a portfolio.
A practical progression would be Linux and networking fundamentals, Git, scripting with Python or Bash, cloud basics, CI/CD, containers, infrastructure as code, and monitoring. You don’t need to master everything before building—learn a concept, use it in a small project, and investigate the problems you encounter.
A home lab can be a great way to understand networking and operations. You could run a few virtual machines or containers, manage them with Terraform, deploy a small website on a lightweight Kubernetes cluster, and add Prometheus and Grafana to monitor it. Projects like this teach you much more than passively following videos.

That’s a solid approach because each project naturally introduces another DevOps concept. The important part is documenting what you built, what broke, and how you fixed it.