<i>&gt;Use it before you know it:  The first step you need to take in order to learn a new technology is to simply start using it before you understand it, which is a much better approach than trying to understand it first.</i><p>I won&#x27;t dispute the strategy that works for him but that doesn&#x27;t work for me.<p>For learning concrete languages &amp; frameworks like his examples (React, Nodejs, Javascript), I prefer to read about motivations, architecture, and concepts, etc <i>before</i> downloading, experimenting, and typing any syntax.  My brain needs internal &quot;scaffolding&quot; to strengthen the usage of unfamiliar syntax or else I&#x27;m just cargo culting.  If I understand <i>why</i> React does what it does, it makes more sense why certain code goes in &quot;this spot instead of that spot&quot;.<p>However, for learning other <i>abstract topics</i> such as monads, I would do the &quot;learn it by many examples&quot; approach the author recommends.  I think the various metaphor-as-burrito tutorials for monads are not that successful for teaching.  Instead, I suggest people just <i>use</i> monads like the Maybe Monad, Either Monad, IO Monad, etc.  After a while, one will notice <i>something in common</i> with all those monads.  That &quot;common pattern&quot; is the unexplainable monad.  However, you can&#x27;t get that understanding from reading monad metaphors -- instead, you <i>extract</i> that knowledge from the commonality of patterns hitting your brain at different angles.