(This is extracted from my response on an internal Automattic thread asking why we ended being developers)
1988: I was a nine years old kid obsessed with arcade machines and tabletop games who managed to save around 200$ (29,990 old Spanish pesetas) to buy a bundle including an Inves Spectrum +1 (A clone of Sinclair ZX Spectrum+), a screen and a pack of 10 Dynamic (top Spanish game developers back then) games.
ZX Spectrum was a beast with 48k of RAM, 8 colors (4 of them could be shown simultaneously on screen!) and its UI was a command line with a BASIC interpreter. Everything you could do, you needed to do it writing a BASIC command. For example, to load a game, you needed to write LOAD ""
and then to press play in the cassette player connected to the computer.
Back then, there were plenty of videogame magazines which included pages and pages of code. It was full games, sometimes, you could type and the save into a cassette, or bootloaders you could execute before loading a commercial game, to give you cheats, access to hidden areas, etc. I spent hours copying hundreds of lines of code just to get any game I could put my hands on. At some moment, I realized that I could change that codes and change stuff in those games / bootloaders. Change this number and you get 10 extra lives, instead of 5. Change this other thing and your character was red instead of blue.
My first program was a game that selected a random number between 1 and 100. The goal was to guess that number, and with each attempt, the game would respond with ,“smaller” or “bigger”, until you finally guessed the number. It was a silly game: Today, maybe 10 lines of javascript. But back then? Back then I felt like if I had written a symphony.
From then, I have spent all my life writing code. I didn’t have any formal programming courses until college, and I didn’t learn good practices and get any good with it even later than that… But I can’t remember my life without being in front of a computer trying to create some stuff with it 🙂