I was homeschooled through highschool, although my first and fourth grades were at a private Christian school (Gloria Dei Lutheran School). At age 13, I transitioned from homeschooling to taking various courses as a part-time student at the local community college (Sacramento City College). One of the faculty there submitted my name to audition for a music scholarship at California State University of Sacramento, for which I easily qualified, so I began studying there full-time at age 17. I began studying for a Bachelor in Music, Piano Performance Emphasis. I never quite finished the degree; I had some twenty-to-forty units remaining to graduate when I dropped out, at 20 years old.
I’ve often thought about returning, just to finish the degree, but in the meantime my career in software development has flourished, and returning to finish the degree would require 3-4 hours of practice daily, in preparation for a degree-required piano concert, something that, with a career and a family, I can’t easily afford. Plus, given that my career is quite a successful one without the degree, there’s not much motivation for me to finish.
I had always had a strong interest in computers and programming; but I was raised to love only Apple Macintosh computers, and all coursework was on PCs and such, which is why I had decided to pursue my education in music instead. My love for each of them were pretty much equal, so I’m not sure what I would have pursued if I’d been a PC user, or if Mac-centric courses were offered.
My first full-time computer job was with the Adams Group, essentially as the all-around, responsible-for-everything-under-the-sun computer guy, with a focus on web development, system administration, and internet security. It was a Windows-centric job, but by this time I was smart enough to realize that skill with PCs was more generally marketable than skill with Macs.
I had no previous experience with networking or computer security; I learned on-the-job. They were looking for an entry-level guy who had the aptitude to learn as he went, so they could pay me at an affordable salary of ~$23k. In retrospect, hiring a complete neophite to handle internet security was a pretty poor idea, but luckily for them I am an avid and quick learner. I very quickly gained a fairly solid understanding of internet security, through reading and reading. I (and they) had little money for books, so I learned almost entirely from materials I could find on the web. Notably, An Evening With Berferd by Bill Cheswick, and There Be Dragons and Packets Found on an Internet by Steve Bellovin; all of which I found at the now defunct hacking-and-security website, rootshell.com (but I seem to have found a mirror of rootshell).
All of these materials were heavily Unix-centric. In reading about the activities undertaken by these most excellent of system administrators, I found myself absolutely awestruck with the incredible ease with which these admins were able to set up fake internet services to trick crackers into thinking that they’d successfully cracked a system, monitoring and logging and even allowing the admins to interact with the intruder, pretending to be some software component obeying the whims of the attacker. I quickly realized that far from my previous, vague notion of Unix as some archaic operating system for mainframe computers, Unix was the obvious choice for any internet security professional.
At the same time, it being 1999 and all, I was also responsible for maintaining an inventory of all our computers, along with analyses of vulnerabilities related to the dreaded y2k bug. I had decided to use the Perl programming language (which I didn’t know) to write an inventory program. Now, Perl was born on Unix, and is based heavily in Unix concepts. So, as I was learning to write Perl as I used it to write my program, I was getting saturated with a lot of Unix stylisms and shell programming techniques that had been borrowed into Perl. So this, too, piqued my interest in Unix.
I decided to set up our web server and firewall on a Linux-based system, as Linux was the apparent favorite modern Unix-like system, and was already (just) starting to hit the public radar (these days, I doubt there are many serious computer users who haven’t at least heard of it). We also ended up migrating our mail services to it, because of the wealth of extra control and management that it afforded us. However, we had occaisional problems with it (I was, after all, new to the profession), and I’ve noticed that they moved mail back to Exchange soon after I left (probably a wise move, since I was the only one around who had a clue about Linux, and nobody else had the time to devote to learning it).
It didn’t take very long at all for my skill in Unix, Perl programming and network administration to exceed my salary and position. I quickly located a job with Workspot (which no longer exists) in Palo Alto that paid over twice as much as I was currently making, and I moved there with Sara and baby Joy.
And thus was born my current career in Linux software development. While I still program in and am very profficient with Perl, I currently consider myself a bigger expert in the C programming language (I am also profficient in a number of other programming languages; see my résumé for more details). Other strong interests and skills related to my profession include cryptography and computer security, digital typography and documentation technologies.