Why you should consider using Linux for software development

Imagine, running your OS updates when you want to.

Linux has emerged as the weapon of choice in almost all professional IT environments, from small web servers to high-performance computing. And in recent years, even the desktop environments have gotten, kinda pretty actually.

I had the luck of coming across a Linux installation CD back when I was a kid. I had no idea what it was. It did have a cute yellow penguin etched onto it, but no setup.exe to run left me a little confused.

KDE Plasma

1. The Shell

The scary black screen, the direct connection to The Matrix™.

Using and learning the shell will make you pretty much invincible. You’ll be able to traverse, manage and debug various environments where your applications are deployed and actually know what you’re doing.

2. Customization

Applications developed for Linux tend to allow a lot of configuration. So go ahead, maximize your productivity and make it yours. I mean, just look at this beauty.

Leaving everything on default is also an option.

3. Speed

One of the core Unix philosophies is to create programs that do one thing, and do it well, not complicating by adding too many extra features. This helps the software to be more easily understood and optimized as time goes by.

Something I like pointing out is EXT4, the default file-system in most Linux distributions. Indexing and working with lots of small files (e.g., npm install) is noticeably faster.

4. Privacy

Open-source software respects your privacy. Most of the time, it has no hidden agenda, no tracking to “opt-out” of. It’s designed to do it’s job and nothing more.

5. Developer heaven

While still lacking in complete convenience for the casual user, developers are first-class citizens. Installing the tools you need to do your best work is usually only a command away. There’s a good chance you’ll find them in your distribution’s package repository. No need to go through an installer that slips in a toolbar or two.

OK, how do I start?

I am a big advocate of learning by doing. I encourage you to try installing a beginner friendly distribution like Mint or Ubuntu. You can use a virtual machine or a computer not critical to your daily work and then play around with it.

Break something, now is the best time to do so! Let me know how it went.

December 06, 2019

Filip Meštrović is a software engineer helping large enterprises build useful and maintainable applications. Talk to him on LinkedIn!