3 ms·
As always, it depends on the person and their specific goals, but I think diving in before learning the fundamentals is a better strategy for the reasons he's g
by ditonal 14y ago
As always, it depends on the person and their specific goals, but I think diving in before learning the fundamentals is a better strategy for the reasons he's getting at in the blog. The biggest decider in whether you will be successful at a new skill is if you put in the hours, and you are more likely to put in the hours if you are having fun and engaged. If putting together a crappy web app makes you stick with it better than learning data structures, then it's better. Plus, for the majority of us, the end product is the real goal, and we only care about algorithms as far as it helps us achieve those goals. Lessons on code maintainability and algorithms will seem much more relevant and engaging once you tried to add features to your spaghetti code base or figure out why your application was so slow. Also, for some people who have a specific end goal in mind, maintainability or algorithms really don't actually matter because they have smaller goals.
To me it's similar to learning an instrument. Learning scales and doing finger exercises may be more useful practice than just playing songs you like all the time, but again, what's more important is that you consistently practice. As you learn more songs, you might struggle on parts or want to improvise and then you will be more engaged to learn technique or scales, and some people will be happy they can strum a few chords and never worry about more. In short, 1000 hours of mediocre practice will usually beat 10 hours of perfect practice, especially because the mediocre practice provides the motivation for the perfect practice.