The secret of quick learning along with deep understanding is in studying the thoughts and ideas of the most brilliant men, trying to take their perspectives, learn to think and see the same way they do, with tools they use.
There are so many books and so little time, especially because all those books require a slow, focused *reflective* reading, which is possible only in isolation and after some preparation (like a meditation). These books were carefully selected after reflective reading.
After studying these classic texts, there is no problem or any difficulty to grasp and master all those over-hyped, fleeting modern technologies, because they all, deep inside, founded on the ideas described in these books.
Some of these books should lay on your shelve, to be taken now and then for refreshing feel of joy and happiness, which only some sacred books could produce, because they contain most of the answers you need..)
Bad programming is easy. Idiots can learn it in 21 days... even 7 languages in seven weeks.
There is a list of fundamental books:
HtDP - How to Design Programs, Second Edition - an introduction
SICP - Structure and Interpretation of Computer Programs - software engineering
Manmonth - The Mythical Man-Month - software project management
LiSP - Lisp in Small Pieces - all the little details
PAIP - Paradigms of Artificial Intelligence Programming - real-world lisp, practical solutions
AIMA - artificial intelligence, modern approach
Algorithms - Introduction to Algorithms, 3e. - the only cookbook you need
AOMP - The Art of the Metaobject Protocol - advanced OOP, the deeper understanding
to be continued..