Software developers have to repeatedly and continually learn massive number of new concepts, procedures and techniques related to the latest languages, frameworks and technologies up and down the stack.
The best way to learn would of course be to continuously read books in the spare time one isn't solving problems on the job and apply that knowledge.
I personally find reading books too time consuming for me. Books are presented in a depth first fashion, delving into multiple areas in depth one by one. This is not ideal for becoming productive quickly. There is no explicit ordering of how necessary / frequent a particular concept / technique is either.
What other sources of information / classes of sources are highest yield for picking up new technologies quickly [In the sense of getting productive fast].
An example of a high yield resources are well made slide decks. As an example, a slide deck on a language(e.g. javascript) made for experienced developers new to the language is much faster to process than a book. I can absorb the major features of the language, the syntax etc from a good slide deck in a fraction of the time it would take to read the introductory chapter of a book.
Any general comments (or specific sources) on how one would go about learning a new tech stack quickly would help too.
My current stack is linux, apache, python, django, dynamo, js, backbone
I heartily recommend pretty much all of Jerry Weinberg's books to all software developers. The Quality Software Management series is awesome; a lighter but still impressively useful starter book is Are Your Lights On, which teaches how to ask the right questions when you have no freaking clue what is going on. Secrets of Consutling is another good one.
You won't find a line of code in these books. What they tend to teach you (well, me, anyway, YMMV) is how to gain an understanding of the non-technical essence of a problem. In 99% of cases the technology isn't the issue anyway; the problem-solving skills (or lack thereof) of the people involved are.
For the remaining 1%, pick a few products or frameworks that appeal to you and become intimately familiar with them, at the "critiquing a work of art" level. Then attempt to build something equally challenging; a virtual machine, an emulator, an OS kernel, a compiler, a whole video game, a web framework, that sort of thing. Deep expertise in any given thing will transfer well, if you have also mastered the art of problem-solving in general, i.e. when you have (to start with) no clue what is going on.
I used to be a decent Java expert, but nowadays I'd go to some lengths to having that kind of label slapped on me; the pay is much better working on problems at a higher level of abstraction.
Are Your Lights On is a good all-purpose introduction to problem-solving, but it's a bit... basic (worth reading anyways, just because I found it amusing, though). Are Quality Software Management and Secrets of Consulting a little more in-depth?