In this commentary article I go into the journey I took from 2001 when I started out using Linux properly and the present day. If you think that you too would like to get into Linux as a career or become less of a novice and more of a power user, then read on, this article is for you. Even if you want to enter into other inter-related careers that depend heavily on Linux, for example DevOps, Cloud and Security, my twenty years experience in Linux might have some pearls of wisdom that you may find helpful.
Why I got into Linux
The year was 2000. I was a student at college. Like most students, I was poor. I had been running Windows 95 and then 98. From a young age, I had grown up with computers and I got into them as my main area of interest pretty quickly. I had grown up with an PC/XT. Later a 486 and by 2000, I had my home-built Pentium II! I remember the day when I got a 512kbps ADSL connection to my home. Broadband! That was a game-changer for me, having had an unreliable 56K modem for the longest time, having access to this new thing called “The Internet”. However, in all honesty the biggest change was before this, in 1999…
It was the time when I realised that I was always having to reboot my PC that crashed continuously. I also had to reinstall Windows twice a year so that it wasn’t almost unusable; It used to grind to a near halt when it started up. I often asked myself, why does my PC start off fine and then start getting slower and slower after a few months? I figured that it wasn’t the hardware that was breaking – it was the software that was substandard. I started working as a technician in a large PC store around this time. Time after time, the customers were coming to me and saying their expensive PC was running slowly too. Everyone assumed that the computer was a dud. People even demanded refunds!
So, if this wasn’t just happening to me, but happening to lots of normal people’s computers, of all different makes and kinds, then the only one constant was the operating system. This was Microsoft Windows.
I was peeved, because I’d spent my own money on building a computer and buying Microsoft Windows to put on it. Money that I really needed to pay the rent and put food in my belly. I also felt sorry for all the people that I’d end up re-installing Windows on their PC to fix their problem. I knew that most of them would probably be back in the store six or so months later with the same complaint.
Almost by accident, I found Linux. I was in the magazine section of the PC shop I worked in one day in late 1999. I saw a magazine called ‘Linux Answers’. On the cover was a copy of Red Hat Linux 6.0. Before long, I had done the unthinkable: I had deleted Windows in a rage of fury because it had completely crashed and wouldn’t start up. All of my MP3s, photos and documents, all but gone save for a few backups on CDs I had lying around. Back in those days I had no idea that I would have been able to salvage those files with Linux; I just blithely reformatted my hard disk and went cold-turkey, believing everything that the magazine said, I forced myself into the abyss of the unknown! These were exciting times!
I remember the blue text-mode installer, the glare of the many lines of text flying by when the machine started up for the first time. It looked really un-user friendly. Eventually, the screen flipped into what I’d later know to be called ‘runlevel 5’ and I could see a graphical login screen. Little did I know it, but that flashing cursor was the beginning to a whole new world of computing for me.
For the most part, the journey I undertook was without issue. I remember having some hardware issues with my 3D graphics card, which I managed to fix after a good deal of twiddling. I already knew my way about computers and I still messed up a good number of times, but it was fun. I could tinker with literally anything; like a car enthusiast under the hood of their car, you could tweak anything to make it work just the way you wanted it to. The performance and reliability far outperformed that of its Microsoft counterpart. I was hooked.
Not everyone’s cup of tea…
As I say, I was a computer kid. I had started my ‘real’ computer days in 1990, with MS-DOS 3.2. I grew up with un-user friendly commands that you’d type in. No mouse, no graphical ‘Windows’ like thing to use. But I wanted to play my games, so I had to learn to use MS-DOS! Despite computers being substantially harder to use in 1999 than they are today, whilst I was ready for Linux in 1999, most of the average computer users were not.
What ended up being good fun became a career
A few years went by and because I’d forced myself to use Linux, despite it being a harder choice, it was what landed me my first ‘proper’ job. Up until now, I’d been studying and working part-time at the PC store. When I finished college, I sought out my first proper job. I joined up with my local ‘LUG’ (Linux Users Group) and as luck would have it, it was there I heard about getting a job in Linux.
How I got my first and second Linux job.
Before long, I had found a job in a town a few miles away from my home city of Edinburgh, just by talking to the people at the ‘LUG’. They were really helpful at building connections and helping me find work. I went to work for an Internet Service Provider in the early 2000s was crazy fun but also pretty wild sometimes. We’d make servers out of any old hardware we could. I cut my teeth compiling Slackware Linux kernels and make Apache 1.0 web servers. We hosted thousands of websites and before I knew it, I’d outgrown my role in terms of skills and interest. I was well on my way to being a knowledgeable Linux admin.
The next job came along quickly. They wanted me as a consultant. I’d zoom around in my car from client to client, fixing up their computers and putting Linux on them whenever I could. I learned I could make backup servers, routers, firewalls, web servers, you name it; I was ripping out proprietary software at clients left right and centre, giving them software freedom with Linux. We charged the same rate for proprietary solutions as we did for open source Linux based ones. The trick was, because we didn’t have any software costs to cover, and only a little more time to learn the solutions, the profit margin was far higher than when we had to deal with software licensing costs. The customers were happier too, because they had more reliable solutions. Win win.
The need for the Ultimate Linux Newbie Guide
Later on I decided to go to University (more on that later). I went back to the PC store I had worked at when I was at college. I still couldn’t believe that all this time had passed, Windows XP was the norm now, and yet people were still having the exact same issues as I had seen in years gone by. I started giving free hour long lessons to anyone that wanted to come along on a Sunday so that they could find out about what Linux was and how to set it up, but that only had 20 or so students a week.
Now that I was a reasonably advanced user of Linux. Linux had been good to me. I felt that in-keeping with the philosophy of all things open source, it was time to pay it forward. I was still seeing far too many people suffer with slow, cumbersome, proprietary systems. I wished that I could tell them all about this computer revolution. I wanted to help bring Linux to as many people as I could, not just techies like me, so I decided to write a website to fit the bill that I couldn’t find on the web anywhere else.
The year was 2001, I got a web design friend to help me with the graphics design and layout, whilst I went to work on writing the copy. I wrote ten chapters (which are now condensed to seven, given that Linux is far easier to use today). If you’ve read through the chapters of the Ultimate Linux Newbie Guide then you’ll know that I started out with the pure intent on encouraging people with little in the way of ‘geeky’ computer savvy. I wanted to make it as completely open to everyone as possible, so that they could get into using Linux with the absolute minimum of things standing in their way to discourage or impede their journey into Linux and open source software.
Liberty at stake: Linux to the masses!
Let me just get this out of the way first: I am no hippie. I wear a suit to work and I pay my taxes like everyone else. However, I believed strongly (and still do) that when you use a computer, you should be able to use it in the way you want to. You shouldn’t need to be bound to licenses that impede your freedom. You should be able to trust the software you use isn’t siphoning off your information to the highest bidder or wreaking havoc with your privacy. You should be able to have access to the use of a computer, no matter your background or financial wealth. Having a 10 year old computer should not be a limitation of you being able to use it. You shouldn’t be limited to educate yourself about the inner workings of your computer system and software because a profiteering company locks it up for you not to see. I shouldn’t have to pay exorbitant fees for software that doesn’t match its price tag. Software that is often defunct in a year or two because the vendor crippled it that way.
I spent time in the guide to extol the virtues of the fact that Linux and Open Source software means software freedom. Free as in free speech, not as in free beer (as Richard Stallman would put it). I spent many nights putting love into the guide and writing it all by hand in HTML (yes, in those days we didn’t have CMS’s!). I had a bit of spare time back then, and an understanding girlfriend! There were no ads on the website then, but as the years went on, I felt that in order to keep the site relevant and make my precious little spare time worthwile, I should put ads on the site. It was with a heavy heart I but I felt that a modicum of money from ads was reasonable for quality original content. When I say a modicum, I really mean a pittence, but when I see that little bit of money in my PayPal once every now and again, it reminds me that people use this site and get value from it. It keeps me motivated to keep going.
Why did I go to University and get training if I already had a job in Linux?
I realised I wanted more money than these initial roles were paying, and I knew that the bigger companies were paying ‘the big bucks’ for Linux people by 2002. I realised that no matter how good I became at Linux, if I didn’t get myself a university degree, I’d probably not get a highly paid job. I quit work and went back to school. These days, I’d reckon that a University degree isn’t necessary, if you can demonstrate capability. I’m a hiring manager these days and all I want to see is if you can walk the walk. Personally, I make a test server with a random scenario. The interviewee will SSH into the server and try to complete the scenario. If they can do that and they have the right personality, they are as good as hired!
I underwent other training over the years, Cisco Networking, Red Hat Cloud technologies, LPI and so forth, however I feel that nothing beats experience and interest. If you’ve got your own lab at home and you play with it regularly, this is the best way to learn. Break things and break them again until you make it work! For me, these were the days when I learned the most. I learned about the inner-workings of the Internet and networking: DNS, DHCP, TCP/IP, Firewalling and Routing etc. I did this by setting up open source, Linux based services such as the BIND DNS server, DHCPd and using various other tools like ipchains (now iptables).
I got familiar with the nuances of the kernel and how the more lesser known aspects of a Linux system worked. I started up a ‘shells’ system for people to log into and play with Linux online. They would SSH into my server and they had their own account to play with. I’d leave emails for my users and we all had a great time. This was well before bitcoin mining etc took over. If I hosted shells these days, the server would be hacked in a second!
Having worked in a web hosting/ISP company some time back, I decided to set up a small web hosting business of myself on the side. Linux was now turning a small buck for me. Finally, I’d also found Debian Linux around this time. Back then on Red Hat systems (pre YUM), you had to download packages manually and they would often have tens or more ‘dependencies’. It was a huge pain in he ass installing software. I went to Debian and I found APT. It solved all my pains by automatically resolving dependencies. I never looked back.
On the 20th October 2004, Canonical LTD released the first version of Ubuntu Linux (4.10), which was built upon Debian. Back in those days, you could order a free CD copy from their website. I ordered a ton of them, keeping a couple for myself, but giving the rest away to anyone who was interested in using Linux.
Ubuntu was not the first Linux operating system designed for desktop users who were interested in jumping ship from Windows, but even back in 2004, I knew that Ubuntu was going to be a game changer for bringing Linux to the masses. In 2005 I re-wrote much of the Ultimate Linux Newbie Guide to cater for this new distribution and show why Linux was easier than ever to get going with.
Why was Ubuntu important for my career?
This was an important part in the continued success of Linux for me personally, and also for my career. After university had finished, I could have gone on to work in jobs that required me to use Windows. I could have lost focus and gone back to Windows at home. However, Ubuntu breathed a new lease of life into me after four years of banging on about it, it could have been easy to get bored and go onto the next thing. However, I had seen the effects Ubuntu was having on the Linux community, and more importantly onto the everyday computer user.
Ubuntu gave me that pep to carry on. I got a job with General Electric and whilst they had locked down Windows PCs, I refused to roll over and I snuck Linux in wherever I could! I left there and went to work for Amazon and promptly installed Ubuntu over my work laptop’s Windows partition. After all, I was working on data centres of Linux servers, what possible need would I have for a less flexible operating system?
Enlightening the corporate world to software freedom. Saving them money along the way.
After I left Amazon, I went to work for a mobile software firm and became a CIO for that company. Some of us already used Linux. For those that didn’t, in admin jobs or HR positions, I gradually showed them that they could get what they want without the price tag and without the nastiness of proprietary solutions. I vividly remember sitting down with the HR manager one day and asking him for his requirements for the new HR platform they wanted. They were all about ready to spend hundreds of thousands of pounds on an expensive system. I quickly looked into open source offerings and found that OrangeHRM, a completely free open source HR system fit their needs exactly. They asked “but what do we do if we need technical support?”. There was a one thousand pound annual support contract if they wanted. The software worked, they got updates every year at no cost other than the internal IT team’s time, and they saved hundreds of thousands of pounds.
Later, I spent time with the COO about their need to move off the simple email system they had and go to a groupware solution that gave them proper calendaring functionality. They wanted to go to Microsoft Exchange. I countered that with Zimbra. Money talked, the solution worked, and in the end the company conceded that there was no benefit in using Exchange over Zimbra. Strike two for Open Source!
Ubuntu on the Desktop at work
Finally, I went around the developer teams and asked them if they wanted to evaluate using Ubuntu on their desktops. To my delight, many of them decided that it was better than their Windows tools and made the swap.
Although Ubuntu has had it’s up and downs (remember 2010’s Unity desktop?), it is still more or less the distribution of choice for so many people; novices and nerds alike. Fortunately my investment in choosing Ubuntu for the ULNG had paid off. I made video howtos and wrote lots of original tutorials over the years and today, The Ultimate Linux Newbie Guide still remains one of the most popular guides on the net for introducing people to Linux. If you know someone who want a new lease of life from an ageing or slow computer, or if you just want to get the most out a computer then please share this site with everyone you can in the hope that they can get into a new world of computer freedom!
Fifteen years on – where am I now?
In 2008-09, the financial crisis hit the UK and by 2010 things weren’t looking so great in the UK. So I decided to sell the house, car and all my possessions and do something a bit crazy. Without ever having been there, or without even having a job to go to, I emigrated to New Zealand. Since then I’ve worked in a few roles. One as an Infrastructure Manager in a University, one as a National Services Manager in an IT company and most importantly, working for two companies who embraced open source and sell their solutions closely around the open source ecosystem. All of my roles since 2001 have involved Linux in some way or another, even in a management capacity, I would be building solutions for customers or staff to help them get the most from their IT needs.
So how do I get a job in Linux?
I guess this is the part you’ve been reading this for 🙂
If you want a job in Linux, like everything worthwhile in the world you’ve got to be prepared to put in some time an effort. As we approach the third decade of the 21st century, Linux and open source thrives more than ever in so many places.
I could say that you should start off by getting certifications like the CompTIA Linux+, or the LIP certifications, maybe one from RedHat, but in the end of the day, like I said earlier, I don’t think any of that really helped me. I learn by doing. I broke a lot of things, but I learned by mistakes. Fortunately, I made most of those mistakes in my home lab!
I started out my career as a Linux Systems Administrator, and even today, this is a great place to start out. These roles are also called a Systems Engineer or a Systems Analyst in some cases. If they involve Linux in some way, they are probably similar in duties.
If you have more specific areas in mind then make sure you skill up on those areas. For example, if you want to become a developer, make sure you become fluent in DevOps (or even DevSecOps if you want to be at the cutting edge!). Here are a list of skills that you want to familiarise yourself with before going to that first interview. At the very least, know what they are. At best, study them, and more importantly, learn them by playing with them at home, in your own time, ideally on an old PC or laptop you don’t use much any more:
- Shell Scripting (bash), Perhaps Python and YAML too.
- Containerisation (docker, LXD)
- DevOps & Automation: Git, Jenkins, OpenShift, Ansible, Chef, Puppet
- Web Servers & related technologies: Apache, nginx, Varnish, ha-proxy
- Network Services: BIND DNS Server, ISC DHCPd, iptables, Linux routing
- Directory Services: OpenLDAP, Active Directory integration
- Virtualisation: KVM, VMWare, Red Hat Virtualisation
- Cloud: Amazon AWS (EC2, Route53, ELB etc.)
- Text editors: ViM (or nano or emacs if you want to be ridiculed!)
- Alternative UNIX systems: HP/UX, AIX (at least to understand the nuances).
I have linked some of the above points to articles on the Ultimate Linux Newbie Guide to get you the basics on what each of those things are.
Don’t forget that whilst having lots of relevant tech skills is really important, so too is your ability to write a decent cover letter and CV. Relax into an interview and let your personality shine through more than your skills. They can test your skills if they want to.
As I mentioned earlier, going to my local Linux Users group really helped. It gave me the confidence to meet people and ask for help when I was young and inexperienced. It gave me links to people who were looking to hire. Remember that networking takes time though. You are building relationships and trust, you can’t build that in a day. Make friends, listen to others and ask for help when the time is right.
Ultimately it doesn’t matter what you end up doing for a first job. If your role involves using open source software, you are going to find yourself far more useful (and happier in your role), if you get invested in Linux. And when I say invested, I mean be passionate. If you just want to do this for the dollars, then I suggest that you should become a salesperson instead. My lifelong desire to evangelise Linux and open source, my drive to learn new things, tinker and pass on my knowledge to others has driven me to where I am. Working with Linux is exciting. Everyone that works in my team today always hates it when I give them some work to do that involves working on Windows. Many of them came from a background of working with Windows to begin with, they just found that working in an environment that promotes an ecosystem of openness and ‘paying it forward’ really works.
A big part of the culture in my team is centred around the meritocracy of open source. Everyone helps everyone else out and of course everyone has fun whilst we do it.
So there you have it. That’s why I got into Linux, and that’s why I still am in it. It continues to challenge me, it continues to pay for a comfortable lifestyle and most importantly, it still allows me to enjoy a positive working life.
I wish you all the very best on you road to success.