About, or the makings of a software crafstman
Mom was pissed. Dad had just spent a little over $4,000 in 1985-money on a Tandy 5000. For those who do not know, a Tandy 5000 was a state-of-the-art computer, about a million times less capable than the phone you are (probably) reading this on. And at five years old, that was my first exposure to a computer.
We kids enjoyed playing King’s Quest on that computer. I distinctly remember swapping out a handful of five-and-a-half-inch floppy disks as we explored the world and learned how to spell: Every action required you to type out a correctly spelled command, e.g., “Open the drawer.” And it was there that my fascination with computers began.
Fast forward a few years, and we now had our Nintendo Entertainment System and the accompanying subscription to Nintendo Power. My brother and I were allowed to play for about an hour daily. When we would go and stay with my cousins, we would play all day, deep into the night, and talk about our future careers as video game testers. I wonder how many software engineers in my generation bloomed from the seed of video games; that certainly was the case for me.
My uncle was a software engineer at Microsoft, and he had all the coolest toys. So my first exposure to the Internet was in the early 90s at a family Christmas party. I recall walking upstairs into the office to the scene of all my uncles crowding a tiny computer screen checking out AOL. Then, after their initial excitement waned and the younger generation took over, my older cousins and I spent the next several hours typing inappropriate teenage-boy messages into AOL chat rooms. And the spark of the Internet ignited in my brain.
Several years later, we had a super-fast 486 and a 56 baud modem to match, and, I’ll be damned! Internet Explorer 🙀 packed nice and neat into Windows. I have always been the type to wonder how things work. Growing up, I would rip apart electronics and put them back together; these web page things are no different. Except back then, it was a lot more complicated.
Basic and Snake
My high school offered a programming class; I enrolled. So in 1996, I was exposed to an actual programming language for the first time. We were assigned tasks, and if we finished early, we could play Snake. I consistently flew through the assignments and was usually the first student playing Snake.
There is only so much Snake one can play before boredom seeps into the bones and inspires creativity. Snake is a .bat file! We have been writing our lessons as .bat files! Perhaps I should open this .bat file and start fucking around with it? So I did, and the snake began to change in magical ways. It became faster or slower or started the game rather long; it began to change colors, flashing, and such. Thus, at 16 years old, I had my first introduction to computer language, and, as it turned out, I was a quick study.
Off to college
I knew I wanted a degree, and I knew I wanted to work with technology. Eighteen-year-old me wanted to spend as little time in school as possible, so I enrolled in DeVry on the promise that the curriculum would facilitate speedy graduation. I transferred my college credits earned during high school and hit the ground running.
Initially, I studied electrical engineering. Circuit boards were fun, and building computers from base components had become a hobby. After all, one needs a state-of-the-art graphics card and a boatload of RAM to enjoy the latest computer games.
After a couple of semesters of electrical engineering, it became apparent that electrical engineering requires a lot more tools and, with tools, a place to use them. So I switched majors to computer science. Software engineering is much easier to do from anywhere and to practice on your own. These days I am a completely remote software engineer; I would say that observation was prescient.
How many of you remember Y2K? After that, the world was going to end, and all the software was supposed to stop working. And at nineteen years old, that is where my engineering career began: Fixing Y2K bugs. I was fortunate to find a full-time engineering position while still in college, as I was bootstrapping this whole education thing. The pay was not great, but the experience was invaluable.
At this point, my career has spanned decades. I have worked on Windows software, coded against many databases, written a plethora of web front-ends, and written code in over a dozen programming languages. As a result, I will likely be one of the more capable full-stack engineers you will ever meet.
Learning keeps me going; a well-organization, structured code-base makes me smile, and design theory turns me on. During my career, I have only met a handful of other engineers who get just as excited watching their user interface fall into place as when they see their API spit out the correct value. I am one of those: A truly full-stack software craftsman.