I got hooked on coding through engaging and interactive tools that are freely available. The feedback and gratification is instant which is valuable for overcoming the initial barrier of learning a new skill.
However, I quickly hit a ceiling.
When I began my formal Computer Science courses in a more complex language I initially thought I could get by with the lectures and hacking it together with Google searches along the way.
I quickly discovered the breadth of subject matter is so wide, the levels of understanding so divergent, and the variables for a specific learner are so great that you simply won't get very deep this way. At least not very quickly.
I am convinced that patiently chewing chapter by chapter, paragraph by paragraph, word by word through textbooks that were hand selected by my professors, explicitly for my level of knowledge gave me an accelerated edge over many of my peers who chose to disregard the text. This is also a barrier for someone hoping to learning to code on their own outside of a formal program.
That being said, there are still many horrible textbooks I
wouldn't wish on my worst enemies. There is still something to be said
for a textbook that is human, approachable, and well structured. Finding the right textbooks with content that is not too far out of reach is a challenge worth enduring.
Nothing beats the density and comprehensive nature of a textbook if you hope to drill a deep well of knowledge.
Make the time and do the reading.