How to Commit Suicide by Software Engineering, and how not to
Prologue: How I fell in love
It was 1977, and I was 11 years old at the time. The planet was still in a head-spin over a rash of new electronic inventions such as calculators (TI started manufacturing them in 1966) and the world’s first video game, Pong, released in 1972. Up until then, computers had been the stuff of scientists and government. Before then, hard drives were the size of washing machines, and programming was something done by feeding punch cards into a slot. At the time, software engineering wasn’t a job that most people even knew existed, let along as something to build a career out of. The internet wouldn’t arrive on a public basis until almost 13 years later when Tim Berners-Lee released it in 1990.
How strange it is to have a built my own career from a technology that didn’t exist while my father was still alive
My older brother, who had always been a bit of a visionary, was an early adopter of the latest cool technology being sold at Radio Shack, the TRS-80 Model I. For a mere $600 ($3,500 in 2018 dollars) you got an absolutely whopping 4Kb (yes, Kilobytes) of memory, a 64x16 uppercase-only black and white monitor (green screens were released later after screen “burn in” was recognized as a problem) and no built-in storage device whatsoever. In fact, the only way to load or save data was to connect a tape recorder to the computer and “play” the data into the audio port. A version of BASIC was built into the ROM, or you could code in Assembly Language if you could understand it.
Fortunately for me, my brother hated it. He was looking to sell the PC as fast as he could. In the meantime however, I started to bang around on it. At the time, “Learning to code” meant either taking a Comp-Sci course in college (at 11 years old, that wasn’t an option) or you went to the book store and the library and picked up every book and magazine you could about coding. At a pace that only a child can sustain, I learned everything there was to know about BASIC (which admittedly wasn’t much, and was painfully slow) and then delved into Assembly language, writing RPG games, my own take on Space Invaders and whatever I could just to get the practice in. A few years later, I would upgrade to an Apple II+, learn C++, COBOL, and a…