Skip to main content.

2015-11-07 Learning

My first real job after I finished my bachelor's degree was as a Unix admin for a local Internet service provider. While I had some professional background in Windows installations, web development, and Windows-related bug writeups (including in Infoworld). I had no real commercial experience with Unix. My degree was in journalism and my previous degree was in Physical Education. For the past two years, I had a login on a Sun system (from the university) and a Debian Linux system (from the computer club) where I learned basic HTML and CGI programming using Perl. I wrote a website management system for news and magazine sites which I used for the university newspaper and sold to other news and magazine organizations.

I had installed Debian a few times and started reading Unix-related books. I experimented in a home lab of old junk computers implementing various services as if it was a commercial Internet enterprise.

Somehow I convinced the ISP (IWBC) to hire me even though I had no experience with the operating system they used. They did tell me that they wanted to hire someone with a bachelors degree, so that was good. They offered dial-up service, DNS, email, and web hosting for homes and companies. They also published online a website linked to pre-approved sites (like a "Yahoo" directory).

My role was to learn eveything I could from the existing head admin who was moving in three months. The guy was a jerk --- this was before I learned about the Unix BOFH (the sysadmin who takes out his anger on users, colleagues, and more). I followed him around the office with a notebook and watched him as he added user accounts on BSD/OS, added DNS zones in BIND, enabled and test email users, tweaked Sendmail, added virtual hosts to Apache, etc. I took pages and pages of notes when we upgraded or installed BSDI. I wrote down commands, command line switches, expected output, error messages, and more.

Soon he was gone, and I became the head admin. We only had around 500 domains (websites) but maybe around 10,000 dialup customers. Everyday we had a variety of typical sysadmin tasks. But I had my notebook. I worked with the sales and phone reps so they could handle most tasks without me (like changing passwords).

I wrote scripts to automate my work, such as adding new email users, or adding new domains included in named.conf or hosts in httpd.conf.

I joined various email lists to discuss the software I used with experts in their communities. I asked questions. And I took notes.

As I improved my routines and automated the processes, I had more and more free-time. My co-workers played online bingo and built servers for downloaded music.

I read man pages. I read more man pages. I checked out every Unix and related book from the local libraries and took careful notes.

I installed extra systems on surplus hardware to learn about later for development versions of the software we used or to test out alternative software. This resulted in the time I had a system root compromised; thank you BIND 8, as this taught me about server security and better administration practices. (This experience led me to years of working as a security consultant and auditor.)

Then I started answering more and more questions on the mailing lists. I tried to solve every problem posted. Before I read any follow-up emails, I tried to understand the issue, read the related docs, sometimes experiment with the software or configuration, and develop a solution or answer. I continued to take careful notes about the bugs and the solutions. For a while, I hosted a website with ISP Frequently Asked Questions.

Our ISP started to fail. The company spent all its money on expensive VOIP hardware, unused Oracle database licenses, and new tech staff that sat at their desks literally doing nothing --- no computers even assigned after months. Again as my co-workers played, I studied. I'd go to the developer's offices and ask them to teach me to code. I shared my examples with them and read their code. I found open source software that we used for our servers and for my day-to-day sysadmin tasks and thought of ways to improve them.

One issue was we didn't want to have hundreds or thousands of Unix user accounts simply just to offer email service. (That is the users didn't need to have any Unix login or user privileges.) So I found a light open source POP3 mail server and extended it to support virtual users. I shared back over ten patches over time and soon became maintaining a fork with a new name of the software. It was the only option out there at the time, and ISPs around the world even with tens of thousands of users started using it and I received lots of feedback and code contributions.

I started attending a Linux users group about an hour from muy house monthly and soon I was giving lectures and sharing my new knowledge. I sent proposals to local computer newspapers and magazines and wrote over 15 articles related to Unix and open source software.

I was able to get another job as a journalist and sysadmin to start a website for BSD news and tutorials. The company (Internet.com, later Jupiter Media) sent me a $8000 server to install and I was actually paid another $3500 a month to learn! This is where I started with my operating system of choice. (Later that job extended to cover Apache news and tutorials, PHP news and tutorials, and even Linux news.)

I researched Unix sysadmin roles and did job task analysis surveys privately and publicly to understand work for web server operators. I installed lots of different solutions or alternative softwares to compare and contrast and to learn other points of view. As I experimented, if I found bugs or thought of enhancements or improvements, I would send my notes and even code fixes to the software developers. (These activities helped lead to my later work as a certification expert and a packaging expert.)

When the ISP failed, I was the last employee left. The only person to make sure the systems stayed running until they were powered down. (In hindsight I should have taken all the customers.) An accountant joined me at the empty office one day and told me they couldn't pay me -- for the third month in a row. He wrote down on his clipboard as I took multiple desks, a rack, several servers, office chairs, photocopier, and miscellaneous office supplies -- which I gave away for years and used for later learning and business.

Soon I began advertising my new expertise as a consultant and trainer ... but that is another story.

The point of this short period of learning is:

This short path in life was different than what I expected when I went to college, but it turned my entire life around. It changed my focus and gave me new direction. It jump-started a career in helping others via open source software.