How Slackware made me a better developer

September 21, 2014   

Kwame Opam reminiscences about Linux and how it'll always hold a special place in his heart:

Thinking about this, I remembered how much I loved (and still love) Linux. And I had to reminisce. I remember being a pimply high school kid circa 2002 and configuring Gentoo Linux by hand — kernel and all — onto my little beige eMachines computer, losing days of actual productivity in the process. And loving it. I remember diving into forums and arguing, however ineptly, over the merits of KDE over Gnome. I remember never quite mastering the command line, but getting pretty damn good at it. It let me do whatever I wanted, and my friends didn't get it. Back then, I was open source. Linux was safer, better, and cooler than the competition. We were gonna win the desktop. One day! I had my quiet, nerdy rebellion moment compiling code for hours when my friends were playing World of Warcraft. And I loved every minute of it.

I got bit by the Linux bug early in high school. I want to say Mandrake was first distribution I ever installed. I remember being unhappy with it for some reason, though. I think I didn't like how it hid everything behind graphical wizards. I wanted the full Linux experience of fiddling with config files and configuring everything to my liking. At the time, Slackware was famous for that kind of ethos so that's where I went next.

Slackware was an education, to say the least. As a distribution, it always tried to keep everything as close as possible to how the original project authors intended. For example, the config files for Apache were the stock config files provided by the project itself. There were no helpful customizations made by Slackware to make things easier. If you wanted to configure Apache, you had to start digging through the docs to figure stuff out on your own. As tough and frustrating as this could be, it was such a thrill when I would finally put all the pieces together after hours or days of being stumped. In a lot of ways it taught me the process of thinking like a developer long before I actually became a developer.

I started using Emacs on Linux. I learned Python on Linux. I built my first websites on Linux. I wouldn't be working as a web developer today if it weren't for Linux.

Like a lot of developers, I eventually moved onto a Mac as my primary development machine. I don't think I've been on a non-server Linux box since like 2008 or so. Part of it was I just didn't have the time anymore to spend hours configuring some piece of hardware that took a few minutes on a Mac (though I understand Ubuntu has made this issue pretty much a thing of the past). Plus, as more developers moved to Macs the tools got better which led to a virtuous circle of more developers moving to Macs.

But, still, I would encourage any developers out there who haven't used Linux before to dig out that old laptop and throw the latest stable Debian or Slackware or Gentoo on it. I promise you'll be a better developer for it.