Linux. If you’ve not heard of it, you might soon be in the minority. Why? Not only are more and more manufacturers starting to realize this open source operating system is a viable (and more reliable) alternative to Windows on the desktop, but it also powers nearly every service you use. Facebook, Twitter, Google, Netflix, Hulu, Amazon? They all use Linux.
With good reason.
It’s stable, reliable, secure, and flexible.
Although end users are only just now beginning to understand the beauty that is Linux, developers have known about it for some time. They’ve had to. Why? Because, as I said, Linux powers just about everything—from popular websites, the cloud, containers, IoT, appliances, cars, phones, and many other types of electronics.
Any software engineer that works with enterprise-level companies has developed with and for Linux. But why, as a company looking to hire developers, would you want to employ those who have specifically used Linux? Let’s find out.
A Little About Linux
First, what is Linux?
Like Windows, macOS, and Chrome OS, Linux is an operating system. There are many differences (as well as similarities), but the primary difference between them is that Linux is open source. This means anyone can download the source code for the operating system (be it the kernel, one of the many desktop environments, or everything in between), modify it, and distribute the new version.
That’s part of what makes Linux so great. With the code available for anyone to download, it means it’s peer-reviewed and vetted by thousands upon thousands of developers. That translates to a level of reliability and security proprietary software simply can’t compete with.
So how does using one particular operating system make you a better hire than if you use a different OS?
Let’s dig in.
Linux Users Have Always Had to Be Creative
Linux is incredibly flexible and powerful, which means users can do more with it. So much more, users tend to get very creative with not only how their desktops look and feel, but how they work. In fact, during the earlier years of Linux, users had to always be quite creative to get things to work. And although that’s not the case these days (because Linux just works), there is still a certain level of creativity that goes into using Linux—especially when the default behavior doesn’t quite work the way a user might want it.
Fortunately, Linux accommodates this kind of tinkering. In fact, Linux has always been a perfect platform for tinkerers. Because of its open source nature, users can dig in as deep as they want to make changes. That translates to users being far more familiar with how systems and software work.
That type of creativity is exactly what you should be looking for in a developer. Creative minds come up with creative solutions.
Linux Users Are Curious
In general, Linux users are curious by nature. They don’t just want a platform that works, they tend to want to know how it works. To that end, they might very well dig their fingers in to learn on a far deeper level than the average user.
Instead of just assuming an operating system is a monolith of code, Linux users understand that it’s more a collection of pieces that work together (hopefully in a seamless fashion). These users also better understand the marriage of software and hardware.
For years, Linux users had to jump through hoops to get certain types of hardware working with their operating system of choice. Although that has drastically changed in the past decade, the mindset is still there. Linux users tend to approach the desktop with an understanding that it might take a bit of work to get hardware and software to communicate with one another.
That type of curiosity makes for a great developer because they’ll always want to know more.
Linux Users Know the Command Line
Although this isn’t universal, most Linux users (at some point) have had some experience using the command line. You could, of course, go your entire life without ever having touched the Command Line Interface (CLI). However, with Linux not only does the command line give you more power than the GUI, but it also gives you more flexibility.
Given many development frameworks require the use of the command line, already having this skill set gives the Linux user a leg up on much of the competition.
Of course, both Windows and macOS offer a CLI as well. But Linux users are simply more apt to use the tool.
Linux Users Have a Better Understanding of Package Management
With the Linux operating system, you install applications via a package manager. At the same time, one of the most popular programming languages on the planet (JavaScript) uses a package manager (npm). Having a familiarity with package management means these types of tools will be second nature to Linux users.
This doesn’t just apply to the installation of applications, but how applications are packaged and distributed. This is a skill every developer should know.
Beyond the package managers, Linux users are also familiar with installing applications from source. Not only does that mean they know how to use tools like make and make install, but they are also accustomed to viewing source code and how packages are laid out.
Linux Users Understand Dependencies
Every developer needs to know about software dependencies. Linux users have been dealing with this for years. Try to install any application from source and you might find yourself in what’s called “dependency hell.” In other words, you might have to meet a seemingly never-ending recursion of dependencies before you can get that piece of software installed.
Fortunately, this issue has been supplanted by the use of package managers (such as apt, dnf, and zypper), but there are times (even with those systems) you’ll wind up having to deal with dependency issues.
Linux Users Are Great Troubleshooters
Operating systems and applications will have problems no matter how careful you are. When this occurs with Linux users, they put on their troubleshooting hats and get to work. Part of the reason for this is because Linux offers all the necessary tools to troubleshoot problems. From command-line tools to log files, you can always figure out what’s going wrong.
And most Linux users actually enjoy troubleshooting. It’s a puzzle to solve. And what company wouldn’t want to hire a software developer who is not only skilled at troubleshooting (read: debugging), but actually likes doing it?
Conclusion
This just scratches the surface as to why Linux users make great developers. You could also tack on loyalty, a good sense of humor, and patience to that list. Suffice it to say, a Linux user would probably be a good addition to your development team.