DEV Community

Cover image for Linux Without Fanboyism: An Honest Developer’s Perspective

Linux Without Fanboyism: An Honest Developer’s Perspective

José David Ureña Torres on December 14, 2025

Introduction As a software engineer, I try not to get too attached to a single operating system. Computers are just tools we use to get ...
Collapse
 
andreas_mller_2fd27cf578 profile image
Andreas Müller

Thanks for this unbiased view! Personally, as a consultant I don't get to choose which OS I use at work, I usually get a laptop managed by my customer. And usually that means Windows, which I'm happy with since Windows does for the most part "just work". But it's also the fact that I'm a Java developer, so all I need is for the JVM to run, and it runs on all major OS, so there I am pretty indifferent to the OS.

For private projects I recently bought a Mac, and if you think Windows "just works", Mac in my experience even more "just works". And it gives you a pretty powerful command line, so it is kind of good for developers too. And the speed of modern Macs is incredible. I can run local AI models without any performance problem whatsoever. And with solutions like Parallels Desktop I can also run all my Windows games, so I'm totally happy with my Mac.

The downside is that I work with Docker and Kubernetes, and there I sometimes need Linux skills. I have been able to pretty much get away with my pathetic lack of Linux command line skills, but I suspect that I should invest some time in learning bash scripting one of these days. Right now for bash scripting I'm pretty much at the mercy of googling and asking the AI to write it for me. So I definitely get that part about your article. Knowing Linux well, or at least bash scripting, is a really good idea as a software developer.

But privately I would never use Linux. I just have no interest in learning about computers, as strange as that may sound. My "OS" at work is the JVM. And even there as a Java programmer you generally don't have to know the details of how the JVM works to be effective for the most part. So what it comes down to is this: I'm a software developer. Not a "customize software to work on specific hardware" developer.

Collapse
 
jodaut profile image
José David Ureña Torres

I agree, that's why I have a MacBook too for personal usage. I use the terminal regularly so I appreciate having a UNIX-based shell on that laptop.

Collapse
 
el_holands_087666c53c07f profile image
El Holandés

I've been a software developer for the last 25+ years, I have been running Windows xp, 7, osX/macOS, linux, Windows with wsl and now linux again.

Sure things break under linux more so with Windows who force you to do updates that (too) often break things.

Hardware support instead often lags or lacks in linux but for my dev machines i don't need the latest and greatest new hardware.

What i need is my containers run smoothly and my ide is supported, both things that imo linux delivers.

For preventing that things break i'm now using an immutable Linux distro

Collapse
 
jodaut profile image
José David Ureña Torres

Thanks for pointing that out. I didn't mention immutable distros because I haven't try them out yet. But I've read that there are good options for gaming for example. Good to know.

Collapse
 
josephj11 profile image
Joe

This is a very nice, even-handed article. What we need in all walks of life is more cooperation and allowing other people to do things their way without judgement.

Collapse
 
monahidalgo profile image
Mona Hidalgo

This is interesting.

Collapse
 
haider_nadeem_77c972c13c3 profile image
Haider Nadeem

testing

Collapse
 
haider_nadeem_77c972c13c3 profile image
Haider Nadeem

testing 02

Thread Thread
 
haider_nadeem_77c972c13c3 profile image
Haider Nadeem

testing 03

Thread Thread
 
haider_nadeem_77c972c13c3 profile image
Haider Nadeem

testing 04

Collapse
 
pascalfromparis profile image
pascalfromparis • Edited

Very good article. I personally switched to Linux Ubuntu about 6 month ago on my desktop PC, which had been disqualified by Microsoft, and declared impossible to update to Windows 11. I'm very happy with Linux now. I'm now also giving a second life to other people's PCs. Everything you said matches 100% my own experience. There's a tool that helps a lot to learn and to manage the issues, now. The IA, that is bad for the planet, undeniably, but that's so helpful for this kind of things, then that's impossible to avoid for my part. I also appreciate your excellent attitude and your way of seeing things.

Collapse
 
jodaut profile image
José David Ureña Torres

yeah, IA is great if we use it the right way. For example, if it suggests to execute some commands, we should read the commands carefully first, and ideally, verify that those commands are correct and do what we are expecting to do.

Collapse
 
josephj11 profile image
Joe

You don't need much low-level knowedge to use Linux these days, but you're missing the real magic of it if you don't have a basic familiarity with shell scripting (in bash or in one of the other popular shells). The way you can build complex tools in a few lines of code by piping together commands is amazing. And, it's not hard to add GUI i/o to them using a dialog manager such as yad or Zenity so they can fully integrate into your GUI/desktop and be used without even opening a terminal.

Collapse
 
jodaut profile image
José David Ureña Torres

I agree, scripting in Linux just feels right. I mean the way we interact with the operating system, managing files, services, installing and uninstalling packages.

However, Python and Go make scripting more enjoyable on other Operating Systems.

Collapse
 
josephj11 profile image
Joe

Since almost any modern scripting language can do anything that bash can (as long as something like bash pipes are supported), it doesn't matter which one you use, so the one you are most fluent in is the best. Bash is great until you need to deal with strings that contain tokens that it recognizes and tries to interpret. Then quoting and preserving quoting can be a real challenge.