Tutorials should be used primarily as analogs
Some newer programmers (in the current era) fall victim to something called “tutorial hell”. Tutorial hell is a holding pattern where a learning programmer conflates finishing coding tutorials with gaining actual technical maturity in their field.
There are many reasons why tutorials don’t equal hands-on, intrinsically-motivated projects when it comes to gaining maturity as a programmer. Some include:
- organic curiosity breeds effective learning
- tutorials often avoid valuable mistakes
- tutorials often enforce bad practices
- self-motivated exploration cultivates passion
However, tutorials aren’t useless. They can be helpful when attempting to learn something new, however they shouldn’t always be followed step-by-step. Many times, tutorials are most useful when already building something but more education on some aspect is needed to continue building.
For example, I’m trying to build a simple iOS app in my free time. There are a lot of tutorials online. Instead of going through tutorials first, I’ve begun attempting to build my app, only stopping to look for a tutorial when I need some direction. When I find a tutorial to help me, I never follow the actual tutorial steps, but instead use the tutorial as an analog to my own project in order to shape my decisions for next steps.
This way, I’m always building something, never spinning my wheels in hopes that tutorials will magically turn me into a pro.