I've been recently indulging in ZX Spectrum nostalgia remembering my days of BASIC, but also starting to learn how to write Z80 assembly to run programs, albeit simple ones, and I started to wonder: how were games written back then?

Asking the Retro Gaming Stack Exchange group I got a pretty decent answer, and it was fairly well aligned with my own guess: the games and programs of the early-mid 80s were rolled by hand, in some cases the machine code hex values were entered directly. Others would build custom hardware to code from one machine to then write directly into the ROM of the ZX Spectrum.

Why is this relevant to today? Programming is hard. It used to be easier. Apparently.

I'd like to counter that with: compared with today, programming is more complicated. Except, the reality is, it's always more complicated as time goes on, ideas get bigger, teams grow, software requirements reach international audiences and computing becomes more advanced. But, back then, in the time when "it used to be easier", it was damn hard. There was no tooling. No documentation. No globally shared information. No known boundaries. No presidence. It was all new, and everything was being discovered, and more importantly, learnt on the fly. It was hard then. It's just that the software industry made tools to make it (comparatively) easier.

Sure, today, software engineering is hard. But I'd suggest that it's always been hard. That's the fun of it.