DEV Community

Alpesh Borekar
Alpesh Borekar

Posted on

Why Tutorial Hell Isn’t About Watching Too Many Tutorials

If you’ve spent months going from tutorial to tutorial and still freeze up in front of a blank file, you’ve probably already been told the fix is “just build something.” That advice is correct, but it skips the part that actually matters: why following tutorials doesn’t transfer into being able to build things on your own.

What’s actually happening

A tutorial hands you a fully-scoped problem. Someone else has already decided:

  • What the app does
  • What the file structure looks like
  • Which libraries to use and which versions
  • What “done” looks like

When you follow along, you’re practicing typing and pattern recognition — recognizing “oh, this is the part where we set up routes” — not practicing the skill of deciding what routes you need in the first place. Those are different skills. Tutorials train the first one very well and the second one almost not at all.

That’s why it’s possible to complete twenty tutorials and still not know where to start on an empty project. You were never practicing “starting.”

A more useful way to think about it

Instead of asking “have I watched enough tutorials,” ask: “Have I made any decisions on my own yet?”

Decisions include things like:

  • Choosing which of two approaches to use, even a small one (should this be one component or two?)
  • Deciding what a function should be named and what it’s responsible for
  • Figuring out why something broke without being told the answer
  • Deciding a feature isn’t worth building yet and cutting it

None of these require an original idea. You can clone the idea of a to-do app and still make dozens of real decisions building it, because the tutorial isn’t sitting next to you deciding for you anymore.

A practical exercise

If you want a concrete way to break the pattern this week:

  1. Pick a tutorial you already followed once.
  2. Close it.
  3. Rebuild the same project from memory, allowing yourself to look up syntax (how do I write a for-loop in this language) but not structure or decisions (what should the folder layout be, what should happen when the form submits).
  4. When you get stuck, sit with it for at least 10–15 minutes before searching. Getting stuck and reasoning your way out is the actual rep you’re trying to get.

You’ll almost certainly build something worse than the original tutorial’s version. That’s fine — worse-but-yours produces more learning than perfect-but-copied.

// Example: instead of copying this structure verbatim,
// try writing your own version of "what should this function do"
// before checking how the tutorial did it.
function calculateTotal(cartItems) {
  return cartItems.reduce((total, item) => total + item.price * item.quantity, 0);
}
Enter fullscreen mode Exit fullscreen mode

Small decisions like “should tax be calculated here or in a separate function” are exactly the kind of thing tutorials make for you. Making them yourself, even on a toy project, is the actual exit from tutorial hell.


Discussion question: If you’ve gotten stuck in tutorial hell before, what do you think was actually missing — was it a decisions problem like this, or something else (motivation, direction, not knowing what to build)?

Top comments (0)