Like many a software engineer does again and again, I'm restarting my blog. This time I'm going to kick this iteration off with an idea inspired by Michael Kordahi (@delicateGenius) many years ago for Tech.Ed 2011, the Geek Origin Story.
One of my earliest memories of computers was at the age of 6 or 7 finding a copy of The CP/M Handbook in my dad's bookshelf. Now at the time, we didn't have a computer at all, but that didn't matter for a kid that read everything in sight. I read that thing cover to cover.
It wasn't till a few months later when we stopped by a garage sale and I spied an old Osborne Executive sitting on a table that I was able to put into practice the things I'd learnt. $80 later and we now had a "portable" computer that I was able to learn to write programs in MBASIC 1.0, and create documents using WordStar. Now portable is really one of those relative terms, this thing was heavy. In fact I'd hazard a guess that the keyboard itself would weigh more than most laptops these days.
What followed was many happy days of typing in BASIC programs from books (borrowed from the public library) into that 7 inch orange and black screen. I remember spending hours poring over a stack of tractor feed paper containing the source code to an adventure game I'd found, wanting to know what made it tick.
I was lucky to find myself at a primary school from grade 3 that encouraged me to continue my programming education (this time on the Apple IIe, followed by various Macintoshes), while at the same time coming home to various IBM clones. BASIC gave way to Turbo Pascal, then C++, C, and a variety of other languages. More and more frequent visits to computer fairs allowed me to get an understanding of the hardware configuration side of things.
My first exposure to the world of networked computers came at a friend's place, in the early 1990s where we put together a 10Base2 network running Novell DOS (aka DR DOS), and learnt all about the technologies necessary to play computer games against each other (so many shenanigans to get the maximum amount of RAM with those pesky drivers).
A brief foray into local BBSes preceded the discovery of this thing called The Internet, followed shortly after by creating my first GeoCities pages (with some typical angsty teen name). Learning to write CGI programs in Perl and C came next.
A few years later I picked up my first part time paid gig while still in high school, writing a program in Microsoft Access VBA to categorize a fairly hefty suppliers catalog of motorcycle parts for an eCommmerce site. It didn't pay much but it cemented the idea that I could work in the field that I found so much enjoyment out of.
I decided to undertake university studies in Computer Engineering, but ended up dropping out as I found the real world workplace more interesting than learning things I'd been doing most of my life. I sometimes regret not finishing, but so far, it's not held me back from delivering software projects big and small.
Since then, I've been really fortunate to be able to make something that I found a passion for at an early age into a job. I never would have imagined that that one book would have lead to all the interesting things I've worked on over the course of my career.