How did I get here?

(I recently posted this on Quora in response to a question along the lines of “Engineers, when did you decide to study Computer Science?”)

I have been a full-time software engineer for the last 7 years, and a part-time one for ten years before that.

I have never formally studied computer science.

It wasn’t an option before college (small high school in rural Vermont). And at the otherwise excellent small liberal arts college I attended, it wasn’t one of the available majors.

I learned to program because that was the most interesting thing to do with a computer in the 1980s. Every computer shipped with BASIC. I wrote a lot of programs. I played with every computer I could. I taught computer workshops at the local college. I read computer magazines and manuals.

80 Micro magazine

In college I took the few classes that were available, including one with a disciple of Niklaus Wirth. I learned C, Modula-2, and Prolog. On the side I taught myself some assembly language, FORTRAN, and Forth.

When the web arrived in the ’90s, I started making pages; eventually I realized I could apply my old programming skills to this new medium, and started learning PHP.

After a few years of this I wanted to get more rigorous; I started learning additional languages (most notably Python) and good software engineering practices. I’ve done a few online classes and stints of self-study to help fill in the gaps in my education.

I’ve become a big fan of functional programming. I imagine I would have loved taking a Programming Languages class as part of a CS degree.

These days my focus is on being a good engineer. I’m always working on my ability to design, develop, and maintain mission-critical web applications. That’s what I talk about when I guest-lecture for classes in our regional university’s CS department.

That’s my story.