What you could do was limited enough that you could master it, and I really think that's a good thing for education and motivation. When I think about teaching my kids to program today, I effectively get "choice paralysis" from all the paths I could go down and the options within easy reach.
Having to write out the bytes and using DATA to store them, and POKE to put them in-memory. Calculating the JMP offsets by hand, and taking the time to SAVE to cassette before running it for the first time.
I didn't write much assembly, but I spent a hell of a long time removing protection from Spectrum games, and patching the code to give me infinite lives/time.
They were available as bargain sellout at the time(1985).
When other people already used Commodore64 or the first Amigas or Atari STs.
But I've been sceptic and low on funds :-)
Wasn't that difficult because there weren't much parts. And no SMD.
Scale was almost like electronic breadbording.
And it worked for the first time!
Regarding the Handbook, compare this image of the cover
[1] https://i.imgur.com/0WarG.jpg
with
[2] https://en.wikipedia.org/wiki/Zaxxon
I felt so very, very Zaxxonized!
Anyway, it lasted me about half a year, where I got a 16KB RAM extension,
learned how to duct-tape this so I don't get resets,
a data-capable cassette recorder for reliable storage, which my ghetto blaster didn't do,
learned Z80 assembly including illegals,
replaced parts of the ROM with RAM to get glorious 256x192 pixels
in black & white instead of block graphics,
and finally got an Atari 520stfm with flicker free 640x400 pixels on 12 inches,
because why not? I've already been used to BW from the ZX81.