A few days ago a recruiter told me that I’d be a great candidate, but when she looked at my resume she didn’t see where I had worked with Linux. That’s a good point, as most of my primary employment (what the rest of us call a day job 🙂 has been with Microsoft technologies. So that’s what stands out on my resume.
But I took a personal interest in Linux in the late 90s, and made it an integral part of my personal IT projects. And later, I took what I learned and used it for side consulting projects.
I started out with self-hosting my domains. I realized that a large portion of the internet ran on Linux and Unix. So I decided to learn more. I started out with building out web and email hosting on Red Hat. I used both servers that I built from parts I bought at Fry’s and Newegg, and virtual private servers from providers such as Linode.
As time went by, I started getting more and more spam from my domains. And since they were MY domains I didn’t want to change email addresses. So I taught myself how to build and tune SpamAssassin. There was a time where my SpamAssassin installs were 50-75% more effective than commercial hosting. Most providers have gotten much more serious about filtering by now, so it’s no longer worth the time and effort to do it myself.
I learned even more when I switched to using the Gentoo distribution for my servers. The Gentoo DIY, build from source ethos drives you to find out more about how things fit together.
When VPN started showing up in the corporate environment, I quickly saw the flexibility that offered so I dug into building my own. I built a number of routers for my home network and even a consulting client or two using embedded linux firewall distributions such as LEAF, Bering, IPCop, and Smoothwall. I ran my home network on these for several years along with OpenVPN for remote access.
The next frontier that I took on was storage. I had a number of computers around the house, and I wanted them backed up. I tried a number of storage server solutions. After playing with FreeNAS, Nexenta, and OpenFiler I ended up running an OpenFiler box for several years. The one downside was that I never found a totally seamless and automated client backup package. I ended up switching to Windows Home Server because it works in a very reliable and transparent fashion.
Around that time, I’d say 5 years or so ago, virtualization became a much larger part of the IT picture. I saw it showing up in a lot of places, and I thought it would be cool to have one big physical server that could run all the different things I had going on my home network.
I experimented with Xen Server, KVM, VMWare ESXi, Hyper-V, VirtualBox, and more. Unfortunately all of them seemed to have a lot of IO overhead at that time, so I was disappointed with the performance, particularly for client backups. I ran ESXi and Hyper-V for a while, then later went back to a standalone WHS server and an Ubuntu server.
When I became an expat I gave up my elaborate home network. Now I just use a Synology NAS unit for file sharing and that’s it. Which runs embedded linux. So if need be I can open up an SSH connection and log in.
And as it turns out, I did work with Linux and Solaris during the day a few times too. I worked on a C application on Red Hat to enable bill of materials upload for Intel a few years back. And the Oracle servers that I worked with at Deutsche Bank ran on Solaris. I did some systems maintenance and some text file imports while I was there.
Over the years, I have also taken on a number of side consulting projects. A number of those have involved Linux, PHP, MySQL, and Postgres. I migrated a customer’s website from ASP.NET and SQL Server on Windows to PHP and MySQL, worked with a team of Python/Django developers to migrate a Cold Fusion and SQL Server app to PostGres, and I’m currently working on migrating an IBM/Rocket U2 ERP database running on Unixware (I’d say “ugh”, but SCO would probably sue me!) to SQL Server.
One more factor has driven my experience with the *nix platform. In 2011, I started another side business to develop mobile applications for the app store and sell mobile development services. While I’m no longer directly involved in that business, being involved with building iPhone apps drove me to switch from a Windows notebook (I was a longtime Thinkpad user) to a Macbook. I’ve found that I really like having the bash shell terminal prompt close by. I’ve installed Python, Django, Postgres, MySQL, Apache, Ruby, Rails, and more on my Mac to support various explorations.
So yes, I’m both comfortable and competent in Linux. Not an uber-nerd or kernel contributor, but I can definitely get around and get things done.