Break out of Tutorial Hell - What to Do When You're Going Nowhere
Tags: basics, beginners, javascript
Published: 2023-06-26 09:29:57

---
title: Break out of Tutorial Hell - What to Do When You're Going Nowhere
published: true
date: 2023-06-26 09:18:44 UTC
tags: Basics,Beginner,JavaScript
canonical_url: https://carlanderson.xyz/what-to-do-when-you-think-youre-going-nowhere/
cover_image: https://carlanderson.xyz/content/images/2023/06/Break-out-of-Tutorial-Hell.png
---

When you first start learning JavaScript, there is a clear path for you to follow.

1. Do an online course
2. Read Detailed JavaScript Book / Course (e.g. You Don't Know JS)
3. Follow a To-Do App Tutorial
4. Start your own project
5. Profit

This path makes sense - The courses, books, and tutorials will teach you all you need to know about writing JavaScript. You even write an actual app!

Surely if you follow this path, you'll reach the pot of gold at the end.

You start dedicating your evenings to this path, and after several months, and hundreds of hours of painful struggle and work, you're finally ready to set out on your own.

You fire up a text editor, ready to code your great idea - but you have no idea how to code. All the knowledge is in your head, but when it comes to how to string it all together, nothing comes.

What went wrong? You did the work. It all made sense in the tutorials.

Maybe you started too soon? Perhaps you need to spend more time doing courses? You struggled with generators, after all. You definitely have more to learn. You pick up another course...

You have now entered what is affectionately known as _tutorial hell_.

## Why courses don't work

Okay, courses _do_ work, but lots of JavaScript courses only teach you half of what you need to know.

Courses and books teach you the separate building blocks of JavaScript - and a lot of them will teach you _all_ of the building blocks, regardless of how useful they are.

Courses focus on _reference material_. The big secret of JavaScript (and coding in general) is that you will _always_ have access to reference material. You can learn about new pieces of JavaScript when you're faced with a problem that needs it.

Far more important than learning and memorizing everything there is to know about JavaScript developing an _instinct_ for how pieces are used and fit together.

You need to build up the _skill_ part of coding.

## What you should do instead

It seems really stupid to say this, but you need to code on your own.

It sounds stupid because this is _exactly_ what you have difficulty doing, and why you're going back for more tutorial hell.

The trap you (and most beginners) have actually fallen into is that you've picked a project that is _far_ too difficult for your current ability.

[You need to start with a tiny project that is solely to help you learn.](https://dev.to/canderson93/how-to-find-ideas-for-good-practice-projects-5hcm) These practice projects differ from regular projects in several key ways.

- It should have one clear goal
- It should be _small_ (even smaller than what you're thinking)
- You should be prepared to throw it out at the end

I think the part worth highlighting here is that a practice project doesn't have to be _useful_ or even _good_. In fact, it's better if it's not.

I'm a fan of pointless projects when practicing. It can provide fun and novel ways to learn about parts of JavaScript while highlighting their limits in ways that may take much longer to discover if you solely explore through pragmatic projects.

You'd be surprised at what you can learn by making a button chase a user's mouse around the page... or run away from it.

Set a small, achievable aim, and then commit whatever coding crimes you need to get there.

Right now, it's more important that you're able to code _anything._ You're building a muscle. It will take time and consistency to grow.

You'll get there one day. For now, _do what you can do_.

---

Are you stuck on JavaScript Tutorials? 

[Download my ebook on how to succeed as a self-taught JavaScript Developer, and how to find projects that you'll actually finish.](https://carlanderson.xyz/javascript-for-you/)