I'm currently in 10th grade and want to become a site reliability engineer. I've finished learning the networking fundamentals and I'm beginning to study Linux, but I keep returning to Windows as my main operating system. I'm interested in technology and use several Windows tools that make research and everyday tasks easier. Although I know Linux has alternatives, some of the software I rely on doesn't seem to work as well for my needs.
I'd like to become comfortable with Linux without completely abandoning Windows. Should I keep using a dual-boot setup, use a virtual machine, or try another approach? I'd also like advice on which programming language to learn first. Would Python or Go be the better starting point, and should I focus on Linux before learning to program?
3 Answers
You don’t need to stop using Windows in order to learn Linux. Install a virtual machine with VirtualBox or VMware and experiment with different Linux distributions. Try doing routine tasks from the terminal, learn how the filesystem and services work, and gradually build confidence. You can also use Windows Subsystem for Linux if that fits your setup.
Linux and programming are separate skills, so you can learn them alongside each other. Just avoid trying to master everything at once. Python is usually the more beginner-friendly first language, while Bash is especially useful for Linux automation. Go is valuable for infrastructure tools, but it can come later. Also, keep improving your written and spoken communication—SRE work involves explaining technical problems clearly to people with different backgrounds.
For an SRE path, a useful progression would be Linux fundamentals, Bash, Python, networking, Git, and basic cloud concepts. After that, learn tools such as Ansible, Terraform, and Prometheus. Go is worth learning later because many infrastructure tools use it, but Python will generally help you automate tasks and understand programming more quickly at the beginning. Keep Windows for the software you need and use a VM or separate Linux machine for focused practice.
The best way to learn Linux is to use it for real tasks, not just install it and browse around. Set up a small home server or self-hosted application, practice managing users and services, and automate something with Ansible. You could also create a simple project using monitoring tools such as Prometheus and Grafana. These practical projects will teach you much more than changing your daily-driver operating system.

Thanks for the advice. I’ll try using a virtual machine and focus on learning the terminal gradually instead of forcing myself to switch completely.