Why you need to learn Linux.

October 17, 2021

Even in 2021 Linux is seen by many as overly challenging to learn, entirely command-line driven, and not useful for the average user. While Linux isn’t without its pain points (I’m looking at you zoom client), it also has numerous strengths that every developer could benefit from that in my opinion outweigh the learning curve. Not every programmer needs to live in Linux but almost anyone who deals with software for any length of time will need to interact with a distribution of Linux in some way. Here are a few reasons you need to learn Linux as a software developer.


1. Web Architecture

The vast majority of web servers are running Linux. Sure you can run everything with a layer of abstraction and only interact with a server from its nice and pretty GUI, but abstraction is only as good as the number of edge cases it covers. At some point, you will likely run into a situation where you require a more fine-tuned control or simply to do something not programmed into the abstraction layer. At which point you will have to turn to the dreaded command line (It’s really not that bad) and the strange wonderful land that is Linux (You’ll learn to love it!).

2. Command-Line Familiarity

Not everything in Linux must be done from the terminal but everything in Linux can be done from the terminal. If you know what task needs to be done and the way that it needs to be done, the level of control and speed that the terminal offers is simply unbeatable. It takes some time and practice to get used to using that power effectively but once you get past the learning curve most users find themselves enjoying the fact that they don’t have to hunt down a particular settings option and can simply enter a simple command. This is especially relevant to developers, many of the tools we use daily are either exclusively CLI applications or just work better when used in that way. Becoming comfortable with the terminal is critical to being a successful programmer, and there is no place better to learn the terminal than Linux.

3. Accessibility and FOSS (Free and Open Source Software)

A reality that many face is that both computers and software are expensive. If it weren’t for the open-source community that barrier to entry would put many people in a place where learning to program is simply out of reach. The ability to install Linux and nearly all of the software available on the platform for free opens doors for many people to learn a skill with the potential to increase their quality of life. By supporting the open-source community you can advocate for the disenfranchised and support the development journey of those who would otherwise be excluded. Even for those who can afford to spend money on software, the ability to spin up an old computer for free is something that can be extremely useful. Particularly as a testing environment that you don’t necessarily want on your main workstation.

4. Developer Tool Integration

If any of you have ever tried setting up a Python development environment on a Windows machine, I’m sorry for your pain. May I suggest you take a look at Linux? The reality for programmers is that much of the software and tools used every day are open source and generally speaking are extremely simple to get working on a Linux distribution. It just makes sense that the people making open-source software would think to make it work easily with other open-source software. The amount of control and freedom you have over a Linux system makes it a fairly simple process to get the tooling set up and allows you to be productive and coding much more quickly than on other systems.

5. Customization

Programmers tend to look at the same computer for hours on end, it’s part of the job. The benefit of a well-customized workspace may seem trivial. However, similar to a clean room, a sink free of dishes, and an organized desk; a customized workstation can have a positive impact on your mood and your productivity.


At the end of the day, use whatever operating system fits your workflow best, but I hope that a point or two in this article resonated with you. Even if you don’t decide to make the switch to being a full-time Linux user, it can only be beneficial to learn a little more about this wonderful ecosystem!


Profile picture

William Vincent
Husband, Father, and Software Developer
Check out my personal site!