I wrote [How to quickly become effective when joining a new company ](http://www.drmaciver.com/2013/08/how-did-you-get-started-so-quickly/ ages ago) ages ago. It's about how to learn in an environment where: * You are trying to get stuff done and learning is your secondary objective * There is vastly more to learn than you can reasonably learn before you are expected to start producing useful output. The strategy described is I think useful outside of that scope, but I suspect there are better strategies when those are *not* your precise constraints. ---- I've been using a Read/Code/Bike/Repeat learning strategy a lot recently. How does this work? 1. Read a paper. 2. Write some code based on the paper. It probably won't work. 3. Go for a bike ride in which I'm forcibly isolated from the internet (checking your phone while on a bike is hazardous to your health!) and have to think about it in isolation. Probably figure out some useful insights as a result. 4. Go back to step 1. And basically repeating this process until I feel satisfied with my understanding of things. Obviously this doesn't require an actual bike ride. Anything which disconnects you from external influences will do, but I think the exercise element *might* actually be a helpful part of it. ---- [Quoting myself](https://lobste.rs/s/mpxfmc/recommended_mind_bending_books_for/comments/q1rr9s#c_q1rr9s): > The problem is that in general it’s really hard to write books for the “expert” because every expert is different. If you’re writing a book for use as a reference manual that’s fine because you can just make it a bunch of self-contained sections, but if you want to write something intended to be read from cover to cover I think the best you can really do is write something targeted at beginners in increasingly specific niches.