The 30th anniversary of Pac-Man has come and gone, and so has the 30th anniversary of my introduction into the amazing world of computers.
Back in 1980, I had just turned six, when my father bought a Sinclair ZX80. It wasn’t the first computer I had ever seen, though. My dad, a HAM radio enthusiast and an overall technology enthusiast, had already brought me to technology fairs and ham radio events. But the ZX80 was something special. It was our own computer!
We spent lots of time together, typing in program listings from (mostly British) computer magazines. The ZX80 only had 1kB of RAM (yes, that is 1024 bytes, actually including video RAM) and its BASIC interpreter fit snugly in its 4kB of ROM.
After about a year, we upgraded to the ZX81, with 8kB of ROM and a whopping 16kB of RAM. At the age of nine, I was helping my father teach BASIC programming on ZX Spectrums at the local workers’ educational association.
During those early years, I went through lots of different computers, including Spectravideo 728 MSX, Commodore Amiga 500, and Commodore Amiga 3000. I learned a few different programming languages, including PASCAL, C, C++, and assembly language for the Zilog Z80, and Motorola 680×0 series processors.
I started an Amiga demo group with a few of my high school friends, and learned that special flavor of assembler programming that was used in "the scene". I learned to love the algorithm. I got a good grasp on how compilers, optimizers and emulators work. I wrote a couple of small, but functional, operating systems. I cracked computer games and removed copy protection, just for the fun of analyzing and learning other people’s intricate assembly-coded secrets. But also for the secret guilty pleasure of knowing that I could do some things a little better than others.
Then, suddenly I turned eighteen.
Present day, eighteen years later
My thorough understanding of the inner workings of computers, that I developed as a child and a young adult, is still of great use and comfort for me. However, these days software development is not so much about saving clock cycles (even if that skill still does come in handy every now and then). When working with web-based solutions, service-oriented architecture, and huge integrations of large systems, it is sometimes important to be able to break a complex system down into its parts to get a better understanding of the whole. I am good at that.
I am thirty-six years old now. I still learn lots of new stuff, practically every day. I am still amazed when job applicants can’t write a simple Fizz-Buzz program in under five minutes! And I am still thankful to my father for bringing home the ZX80 thirty years ago.