If you want a fun side project write a 6502 assembler. It's not nearly as hard as you might think! I wrote one in Python to be part of a game I was working on. I got it up and running in a day or so. It's something that improved my skills and was fun to work on!