I'm a big fan of books like Code Complete and SICP but they are huge and take a long time to get through. What are some books small enough to finish in a weekend that you've learned a lot from?
A Tour of Go [1] (If you are a novice, you really should try writing the programs yourself. You will end up finishing it in an day or two. If you just read through, it would be just a couple of hours)
More on "Understanding Software" by Max Kanat-Alexander and how it helped me:
Thanks to this book, I've started re-factoring code before adding new features, our code base is getting a little better every day (more maintainable) which reversed a trend, it was getting harder to add features, now it is easier; plus when I design now, my designs are cleaner and result in maintainable code.
Debugging by David J. Agans. It's about 206 pages and the information is pretty high level, but it taught me to systematically debug problems instead of blindly changing random code.
The Little Schemer [2]
[1] https://tour.golang.org/welcome/1
[2] https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0...