Stuck in tutorial hell? Here's how to break out
Learning how to code can be challenging. It is inherently difficult to master a new skill. Everyone needs direction, especially in the beginning. At the same time, there is so much information out there - courses, tutorials, videos, books, articles, documentation, practice websites, forums and on and on and on. It quickly becomes overwhelming.
In the middle of this information overload, it can be very satisfying to complete a tutorial. It gives us a sense of accomplishment and confidence in our skills. It is a sign that we are learning and making progress.
But after a while, we realize that we spend a lot of our time completing these tutorials. We jump from one to the next. And all we really do is follow predefined steps. The problems we face are both relatively simple and already solved for us. Are we really progressing?
Welcome to tutorial hell!
Luckily, there is a simple way to break out. All we need to do is build something, anything, on our own. It's scary, yes! But it's also essential.
Take the leap
Let's say we want to build a portfolio website. Maybe we should just find a tutorial on how to do it. Surely, there is a suitable one out there! Or two, or three... Using a tutorial will probably result in a better website than what we could have done on our own, anyway. In the short term, this seems like a great decision.
But there is a danger with this approach. We miss out on the most important lesson - how to solve problems on our own. That's ok if all we want is a portfolio. It is, however, not ideal, if our ultimate goal is to learn how to code.
So what if, instead of opting for a tutorial, we decide to build the entire project from scratch?
Phew, this sounds like a lot!
It feels we are back where we started - lost in the jungle of information and overwhelmed by all we need to learn. This is what got us stuck in tutorial hell in the first place, isn't it?
Adopt project-based learning
There are several ways in which building a project is different and, ultimately, much more beneficial.
First, the project itself serves as a guide and shows us the way forward in our learning journey. How does it work? It's as simple as continuously asking ourselves a question. What do I need to learn next in order to move the project forward? The answer is different at every stage. But what is so valuable about this approach is that is keeps us focused. Every step we take along the way is deliberate.
What is more, the knowledge we gain from building our own thing accumulates more easily. The reason is that we are able to put it into context. Since we faced the problems ourselves, we truly understand the solutions. Over time, this knowledge grows and translates into practical experience.
Finally, at the end of the process, we have a project. And we built it ourselves. We can now use it to showcase our skills.
As a self-taught developer, I have been stuck in tutorial hell more than once. I know how scary and intimidating it can be to leave the safety of the step by step instructions and jump head first into building something from scratch.
But, frankly, if the goal is to be a developer, there is simply no other choice!
If you found this article useful, let's connect!
Interested in reading more such articles from Iva Kop?
Support the author by donating an amount of your choice.
wow! this is truly enlightening. Thanks
Iva i want to build a shopping cart system with nodejs, i earlier went online looking for a tutorial on how to build a shopping cart in nodejs . Now reading your article i realise that i would miss out on thinking through the problem myself. I have a good knowledge of nodejs.
what would you do in this situation
Hey! I would definitely try to think through the problem by myself first (especially if I am familiar with the technology). Once I have a good idea about what my solution would look like, I would probably still look at how other people approach the same problem (in tutorials or actual source code). This might give me a better idea or help me enhance my existing solution. When I am confident that I have a good approach that suits my use case, I would implement it. 😉