I tried reading the dragon book in my teens, never really understood it, it was too much theory for me.

I'd recommend starting with implementing a forth since it's the easiest language to write an interpreter/compiler for. From there you'll have enough experience to go for something bigger.

Making your own bytecode is really fun.

Ultimately you'll probably want your compiler to target llvm bytecode so that it works on every target automatically.