Published: March 14, 2022 • 2 min read
A perennial conversation in code boot camps where I’ve taught: which operating system is the best for web development? I think students see it as a fork in the road, and they want to go in the right direction. My advice is to personally try each one and decide for yourself.
This advice might be most helpful to beginners. But I think refreshing your outlook on this decision might be useful to others as well.
Don’t be this person:
“Why I hate Window: full disclosure, I’ve only ever developed on Linux…”
The choice matters, because tooling runs differently on each OS. Look beyond the marketing pages for each language and framework to experience this truth. If you’re running a framework on Windows that’s been developed on Unix systems, prepare for challenges. There might be a great version for your OS that’s close in parity to the main branch. Or there might not. Expect not.
Further, some kinds of programming can really only be done on certain operating systems. If you want to develop an iOS application, you’re going to want MacOS and probably a Mac and an Apple device.
Try each OS with an open mind. Early in my career I had the opportunity to develop for a few years on a Windows machine, then Ubuntu Linux, and then a Mac. I didn’t plan it this way, it just happened. And the adjustments were not always smooth. I learned to write code and use each OS to do basic computer tasks. Nothing beats personal experimentation. If you haven’t done this with at least MacOS, Linux, and Windows, your preference has blind spots.
It’s also a Two-Way Door Decision: easily reversible. With virtual machines you can run any OS. Setup should be straightforward in each environment, and if it’s not, that’s information. If you’re new and switching sounds challenging, use it as an opportunity to make yourself and your code more OS-agnostic.
Give every OS a try and see what you think. The decision matters. But it’s reversible, and whatever happens, the experimentation will make you a better programmer.
Get better at programming by learning with me. Subscribe to my newsletter for weekly ideas, creations, and curated resources from across the world of programming. Join me today!