This question comes up a lot, I once saw this asked on Quora, will update this post once I get the link. IMHO I think most self-taught developers lack the basic CS concepts, myself being a self-taught developer created a list of topics that I study every morning -&gt; <a href="https:&#x2F;&#x2F;github.com&#x2F;nkudo&#x2F;daily-study" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nkudo&#x2F;daily-study</a><p>Currently learning algorithms and I&#x27;ve been enjoying it so far, learnt a lot and some of the knowledge gained helped me in a recent interview where I was asked what data-structure the HTML DOM used. I am a JavaScript person so I&#x27;m reading this book -&gt; <a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;Structures-Algorithms-JavaScript-Michael-McMillan&#x2F;dp&#x2F;1449364934" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Structures-Algorithms-JavaScript-Micha...</a>