Updated in April, 2020.
I’ve been in the personal computer and software industry for over 25 years, as a software engineer and a manager of software engineers since 1979.
I’d never touched a computer until 1977 when I was required to take “Introduction to Fortran Programming” at the University of Washington. A couple of decks of (yes) punch cards later I realized I loved programming and there were crazy people out there who would pay me to do it! A career was born.
Real world experience started at a small company in Seattle writing operating system and communications software in assembly and C for a data entry terminal built around the Z-80 8-bit processor. They were 25 people strong when I joined, and 6 not-so-strong when I left 3 years later. It wasn’t me, I promise.
My next company did better.
I left Microsoft after 18+ years in late 2001. (I did do a short stint as an hourly contractor in 2002 as well.) It was an amazing ride. While there I worked on a number of products and technologies. I’ll highlight below a couple that might be interesting; if you’re interested in the more-or-less complete list, or just need a good sleep aid, you can check out my (otherwise out of date) resume.
Of earliest relevance may be my work on hypertext technologies that became the basis for the help systems used in the pre-Windows (aka “character mode”) products. If you’ve ever programmed using Quick C, Quick Basic or used something called QuickHelp then you’ve used it.
Character mode gave way to GUI, and I moved to the group building the equivalent technology for Windows: WinHelp. Portions of it survive to this day, so chances are if you have any version of Windows after 3.0, you may well have some of my code sitting on your machine.
One of our goals back then was to operate really well on these new things called CD-ROM’s. The technology in WinHelp went on to become the engine for Microsoft Bookshelf, the CD-ROM based reference work. We were certain that CD-ROMs were the publishing venue of the future. Clearly things turned out just a little different.
Another relevant role was my two years with Microsoft Expedia. A good chunk of that was hard-core coding that would probably bore your socks off, but my initial role was “technical operations” — as in the guy that knew enough about the product’s guts to figure out how to make it work in the MSN datacenter.
Expedia was my first real exposure to making something happen on the internet — and it was truly an education forced by diving into the deep end of the pool. Everything from the number, configuration and interconnection of servers in the datacenter to somehow connecting (securely) to real-live travel agents in our support center at the other side of the country. In the days leading up to Expedia’s going live for the first time, I was the guy in the datacenter putting the final bits in place. Its first few months of operation was also my exposure to the joys of carrying a pager and learning what “24×7” really means.
My final major role at Microsoft was owning the team that designed and ran the massive internal build processes for the programming language product Visual Studio .NET.
While all that MS stuff was going on, in 1994 I’m proud to say that my wife opened up her retail collectible doll shop, and we learned the real meaning of “entrepreneur”. While, yes, I have on occasion filled in and sold dolls, my roles there are as varied as you can probably imagine: bookkeeper, webmaster, light-bulb changer, payroll ‘office’, he who “lifts heavy things”, and so on. It probably comes as no surprise that the cash register and information management system is a custom application I wrote from scratch. Of course, we have a web presence. And you would not believe how competitive the collectible doll industry is — especially on the internet. Yikes. But I digress :-).
I’m one of those weird people that plays with computers because I really, really enjoy it. It’s my career and my hobby. So even after leaving Microsoft I’ve kept it up. Lately I’ve been doing a lot of work implementing and maintaining websites on both Windows and Linux, writing some very interesting server-side applications in perl and PHP frequently using database technologies such as mySql, and writing all sorts of other odds and ends.
And of course, since 2003, answering questions, publishing books, making videos, on Ask Leo!.
On the personal side, my wife Kathy and I were married on Groundhog Day in 1980. We live in Woodinville, WA (a few miles north of Redmond and NE of Seattle) with our Corgis, cats and the usual assortment of urban wildlife. I was born in Victoria, B.C., Canada in 1957, came to the U.S. in 1960 (my parents tagged along), and became a U.S. Citizen in 2001.
So I guess to summarize I know a little about a lot, and a lot about a little. I continue to love this industry where I can learn something new absolutely every day.