I'm a self taught developer (of 4 years) and have been working professionally as a developer (working mostly with Python and JavaScript) for the past 2 years.<p>As an autodidact, I feel I'm lacking knowledge in many of the core principles of software engineering and computer science. I often find myself having great ideas for projects, packages and implementations but find myself running into roadblocks and frustration when trying to express them.<p>Book recommendations appreciated!
Well since you mentioned JS and Python, <i>Programming in Haskell</i> [0] by Graham Hutton is a very approachable text book to familiarize yourself with topics about functional programming (just a personal favourite).<p>And of course there is the mother of all software books <i>SICP</i> [1] (yes, it's free) – which is often regarded as <i>the</i> CS text book. It is very information-dense and touches on many parts of CS.<p>However, if you're struggling to build things, I doubt that books will do much good, since they usually cover theoretical aspects. For this I could only recommend lots of tinkering and practice and little half-completed projects, unfortunately.<p>Do you have some specific examples of projects/libraries where you got stuck? Perhaps we can get a better understanding of what it is you feel you are lacking then...<p>[0] <a href="https://www.cs.nott.ac.uk/~pszgmh/pih.html" rel="nofollow">https://www.cs.nott.ac.uk/~pszgmh/pih.html</a><p>[1] <a href="https://mitpress.mit.edu/sites/default/files/sicp/index.html" rel="nofollow">https://mitpress.mit.edu/sites/default/files/sicp/index.html</a>
Go to the search bar of hacker news and search “learn programming”. Lots of answers one example <a href="https://news.ycombinator.com/item?id=21919465" rel="nofollow">https://news.ycombinator.com/item?id=21919465</a>