The Algorithm Design Manual - Skiena - a formidable way to learn algorithms and associated concepts. still challenging to read, but war stories offer great prose and I actually laughed several times. if you couple this book with Robert Sedgewick's online Princeton algorithms course you will be quite formidable with algos.
Designing Data Intensive Applications - Klepperman - Mind blowing for me. Finally felt like I could reason about data-driven design by understanding modeling, stores, and distributed, as well as event-driven systems. Absolute must-read especially to fill the gaps if you don't have a CS degree.
These 3 have been above all the rest for me, would love to add another one to this list, please share!