I'm a 10th-grade student interested in becoming a site reliability engineer. I've finished studying networking fundamentals and I'm currently learning Linux, but I keep returning to Windows because I'm comfortable with its tools and use several applications for technology research and productivity. Although Linux has alternatives, some of them don't work as well for my needs.
I'd like to become genuinely comfortable with Linux without feeling forced to abandon Windows. Should I use a virtual machine, dual boot, or another approach to practice? Also, should I learn Python or Go first, and how do programming, Linux, and SRE skills fit together?
2 Answers
For an SRE path, Python and Bash are useful starting points. Python is beginner-friendly and helpful for automation, APIs, and small tools, while Bash is important for working directly with Linux. Go is also valuable in infrastructure and cloud tooling, but you don’t need to begin with it. Learn one language well enough to write practical scripts before adding Go.
A good progression would be Linux fundamentals, Bash, Python, version control, networking, and then monitoring and infrastructure tools such as Prometheus, Grafana, Ansible, and Terraform. You’ll learn much faster by running real services—a home server, a small web application, or an automation project—rather than only changing your desktop operating system.
You don’t have to stop using Windows in order to learn Linux. Install a virtual machine with VirtualBox or another hypervisor, try a few distributions, and practice doing everyday tasks from the terminal. Learn how the filesystem, permissions, processes, packages, services, and networking work. You can also use Windows and run Linux through a subsystem or keep both systems available while gradually moving more of your technical work to Linux.
Try not to learn everything at once. Linux administration and programming are related, but they are separate skills. Build a small foundation in Linux first, then add scripting and automation as you become comfortable. Clear written and spoken communication is also important for SRE work because the job involves explaining technical problems to people with different backgrounds.
Thanks for the advice. I’ll start with a virtual machine and focus on learning the terminal and basic Linux components instead of trying to replace Windows immediately.

Using Linux to host an actual service sounds more useful than simply trying to use it as my everyday desktop. I’ll look for a small project I can manage and monitor.