FreeCodeCamp.org

I wish I could tell you that there was just some magic book that you could buy, and that would be enough. The reason buying a book feels so good is that it feels like you’re also buying the time to read it. But there’s no magic involved in learning to code. You’ve got to put in the time. You’ve got to put in the reps at the keyboard.