Introduction
It feels like a long time ago. Well, I guess it was a long time ago that I nearly walked away from my career in IT. Then, in 2008, I remembered feeling utterly at a loss working as a hardware and Microsoft centric second line support engineer. Everything was so opinionated, hardware was hardware, and as is to this day, it's one Microsoft way or the highway.
Luckily for me, I changed roles by moving companies and was exposed to UNIX, Sun Solaris at the time and Red Hat Linux. As a result, my enthusiasm got reignited for computing, and I never looked back. Linux was to be my thing, and throughout my thirties, I lived and breathed Linux.
I write this today, in my mid-forties and since those early days, I've sat and passed Red Hat's Certified System Administrator and Certified Engineer exams in Red Hat Enterprise Linux 6, 7, and 8. So naturally, therefore, my Linux distribution of choice is Red Hat Enterprise Linux. Sure, for servers!
But what about using Linux as a client? Linux users are still very much a minority. It seems the majority of developers and engineers these days are split between Windows and Mac, with the balance towards Apple because of the POSIX based operating system. Macs annoy me. I've had the misfortune of using Macs due to customers handing them out as devices. Sure, a better option than Windows (I'll come back to that soon). Begrudgingly, the new M1 chip now makes for some argument but boy, do you pay the price. Apple Macs are overrated. Yes, I've said it, overpriced designer nonsense. The operating system is clunky and dam right frustrating to use! For example, the only purpose for their command key, it would seem, is to screw up your finger muscle memory when switching back to a proper keyboard. So what I would say is, if you like throwing away cash, then sure, it's a better option than Windows for developers, but why bother?
A quick word on Windows, ditch it. If you're offended by this, you're a Windows user who hasn't invested any or enough time into getting comfortable with Linux. I can say this because I was once that Windows user. I grew and moved on. I was snobby about it for a while, but I genuinely remain agnostic with maturity these days. I recently bought a new badass gaming laptop that came with Windows 11 and wholeheartedly gave it a go as a developer environment. Unfortunately, it wasn't long before it became apparent what a dismal experience that is. So I installed a second storage device, and dual booted my laptop, Linux for development and engineering and Windows for games, end of the story.
Windows users might not fully appreciate that Linux has (almost) everything you will ever need at your fingertips. Most programs and tools can be installed directly from the Linux package repositories. My recent Windows experience was a horrific reminder that every little thing, such as Git, SSH, PostgresSQL, Hypervisor etc., is a trip off to some external download and install procedure. Everything is fragmented, switching from one window to another, and don't get me started on PowerShell. What a joke that is! Why Microsoft didn't implement BASH instead years ago is beyond me.
Sure, just my opinion, but I speak with a ton of experience. If you can, I strongly advise switching to Linux as a client operating system to get serious work done.
Which is a nice segway into what this text is supposed to be about; which Linux distribution?
So, as a starter, you can visit https://distrowatch.com/ and get a rough idea of what is popular and what is out there.
It can become a bit of a hobby of distro-hopping, but I can boil things down and save you a lot of time. Broadly speaking, there are three dominant distros, Debian, Red Hat and Arch. (sure, there are others, but these are the main ones). So, if you select any of the distros on distrowatch.com, you will likely find there based on either Debian or Arch. Red Hat is the daddy in the enterprise and sits almost independently of the herd. You can use the real thing with a free developer subscription or use either Rockey Linux or Alma Linux. Rocky and Alma are direct forks of RHEL and are the new CentOS (CentOS, ironically, Red Hat ruined). I tend to use Alma Linux for servers.
Red Hat Enterprise Linux is an excellent choice to use as a client operating system, but it is very enterprise and a bit dull. Fedora would be the logical choice in this space. However, its release cycle is very frequent, and it is a testing ground for cutting edge stuff leading to frustrations. In a nutshell, RHEL is the Long Term Support option of Fedora.
Ubuntu is probably the most popular Debian based distro, and they offer an LTS version for a Desktop focused Linux distribution.
As I set out to write a whole stack of refined documentation for my website, it seemed like a good idea for a balance to include Ubuntu content, at least from the client's perspective. However, in practice I feel more at home in the Red Hat/Fedora world.
And there you have it, oh Arch, sure I used Manjaro for a long stint, but I always seem to gravitate back to either Fedora, Ubuntu or Alma Linux. Try them all and experiment for fun, but if you want to use Linux seriously, stick to a popular version that you feel most at home with. Red Hat Enterprise Linux (as I said, great but dull as a client operating system) or Ubuntu LTS. I could also recommend Linux Mint, based on Ubuntu with LTS, the best Cinnamon-focused desktop in the business and a tidy offering.
To conclude, though, it's Fedora (at the time of writing 37) for the win today. Everything works, it seems to have better seamless software available via their repositories, and it's a pleasant, stable operating system. Put another way, what's not to like?