All video posts

Learn to code · Getting started · Tutorial hell

How I Escaped Tutorial Hell (and AI Dependency), and How You Can Too

You have been coding along for months, maybe even acing the quizzes. Then you open a blank editor to build something yourself and you freeze. That was exactly me. I spent six months doing every free course under the sun, CS50, freeCodeCamp, Codecademy, endless YouTube, and I still could not build anything on my own. Here is how I got out, and the tactics I still teach today.

Deric YeeDeric Yee 4 November 2026 8 min read 35 min video

Prefer to read? The full article is below. Watch on YouTube.

The short version

  1. 1Tutorial hell is the loop of finishing tutorial after tutorial without ever feeling ready to build. It feels like progress but is mostly an illusion of progress.
  2. 2Copy-pasting AI output without understanding is the modern version of the same trap.
  3. 3My breakthrough: one stack, one meaningful project, and a pact not to run back to tutorials when stuck.
  4. 4Five tactics: build from day one, focus on one stack and one project, learn just in time, explain what you learn, and get feedback from people.
  5. 5Being stuck is not failure. It is the tuition you pay for progress.

What tutorial hell actually is

Tutorial hell is the cycle of taking tutorial after tutorial without ever feeling ready to build something of your own. The instructor's code makes sense, you follow along fine, and the moment you face a blank VS Code window, you panic. You never actually internalised the skill of creating something from scratch, because everything was spoon-fed.

Why do so many people fall into it? Most of us grew up with classroom learning: listen, do assignments, pass the test. Coding does not work like that. There is no exam that hands you a developer job for scoring 90%. The real exam is whether you can build something that works, and the only way to pass it is by writing code. You learn to code by coding, the same way you learn to swim by getting in the water. A thousand hours of swimming videos will not make you a swimmer.

Tutorials are comfortable. They give structure, they hand-hold you through challenges, and finishing a module gives a little dopamine hit. It feels like progress. Often it is the illusion of progress. I was guilty of it: grinding from 8am to midnight, checking off lessons, applying almost none of it. Someone else was doing the hard thinking and planning. When that crutch disappears, you realise you never learned to stand on your own.

The fear underneath it

There is a deeper reason we stay. Building from scratch is scary. You might get stuck and never get unstuck, and discover you do not actually know how to do it. Tutorials protect your ego: if the project does not work, it is the tutorial's fault, not yours. Building your own removes that safety net.

But as indie hacker Pieter Levels has written about his own journey, doing something, even imperfectly, beats doing nothing. By doing nothing, you figure out exactly nothing. In coding, that means if you never write your own code, you learn nothing new. You have to try, screw up, drown a little, debug and learn from the bugs. That is where real learning happens.

And this applies to AI too. Copy-pasting AI output and hoping it works is today's version of coding along without understanding. Vibe coding is amazing for prototypes. But copying snippets you do not understand does not make you a developer, and the people who vibe-code their way somewhere real have also had to get stuck and work things out. In my experience mentoring beginners, nearly everyone hits this wall at some point. It is a sign of learning, and it is temporary. More on this in don't become dependent on AI.

“Struggle is not failure. It is the tuition you pay for progress.”

Deric Yee, in the video

My story: six months in, still unable to build

In 2019 I was working in corporate finance at a venture capital firm, and I quit to learn coding full time. Pretty crazy for a Malaysian fresh graduate. People asked what on earth I was doing. I started with Harvard's CS50 (excellent, by the way), did freeCodeCamp every day, watched endless tutorials, and locked myself in my room from 8am until midnight.

After about six months, which is a long time, reality hit. I still could not build anything from scratch. I could follow along and repeat what instructors did. I had dabbled in several languages. But when I started a project of my own, I froze, and everything I thought I knew evaporated.

It was the most demoralising period of my life. I wondered whether I was smart enough to be a programmer. Whenever coding got hard, I procrastinated by learning something else: UI/UX, digital marketing, data analytics. Finally, close to giving up, I said enough. In a real job nobody hands you a YouTube tutorial. If I was going to become a developer, I had to start acting like one, which meant building without a tutorial guiding me. If you have been here, read tried to learn coding and gave up.

The plan that broke the loop

In hindsight it was a very first-principles plan, with three parts.

01

One stack, no wandering

I had hopped between JavaScript, Python and Ruby on Rails whenever I got bored or stuck. That stopped. I committed to the JavaScript ecosystem, HTML, CSS, a frontend framework and Node with Express, until I could ship something to production.

02

One meaningful project

Inspired by the Korean drama Start-Up, I rebuilt a simple version of its app that helps blind people "see": take an image, send it to an object-detection API, return a description. There was no step-by-step tutorial for it.

03

Figure it out no matter what

When I hit a wall I did not run back to a video. I searched error messages, read documentation, asked on Stack Overflow and Discord, and struggled through like a working developer does.

04

The result

The first week was rough. Nothing worked. But every small win, sending a file to the API, rendering output on a page, felt better than any completed module. Within a few weeks I had a messy, working app, and I learned more than in the previous six months.

What changed after that

There was no secret sauce, no undiscovered tutorial, no magic course. Just the boring truth: you learn by doing. Nobody can do your push-ups for you, and no tutorial can replace writing and running the code yourself.

So I switched to output-based learning. I set myself a challenge to build one small project every month, a to-do app, a personal blog, a simple game, anything, so I always had something to show. When I hit a concept I did not get, I searched for that specific explanation or asked a mentor instead of starting a whole new course. I also started a learning community, Hacker Collective, where self-learners met weekly, and found a more experienced developer who became my mentor and later my co-founder.

That community mattered as much as anything. Tutorials are one-way. I needed feedback and the ability to ask questions. I genuinely believe the curriculum is not the moat in learning to code; the support, the feedback and the people going through it with you are. Years later, when I interviewed over a hundred computer science graduates for roles, I was shocked how many could not build a simple application despite their degrees. Theory-first education creates tutorial-hell graduates too.

Five tactics to escape tutorial hell

1. Shift to project-based learning immediately. Do not wait to feel ready; you become ready by starting. After each concept, close the tutorial and implement it in a mini project. A good rule early on: for every hour you watch or read, spend at least an hour coding on your own. One of my first mini projects was simply recreating a tweet card in HTML and CSS while learning positioning. Our beginner coding projects list has plenty of ideas.

2. One stack, one project at a time. Variety is not your friend when you are stuck. For web, pick JavaScript. For data, pick Python. Both are good enough; do not spend ten hours deciding. Then choose one main project you genuinely care about, ideally one that scratches your own itch, as Basecamp's Jason Fried suggests. Put the blinkers on until it is done.

3. Learn just in time, not just in case. Tutorial hell is full of just-in-case learning you forget 90% of. When your project needs a login and you do not know how authentication works, that is the moment to learn sessions or JWTs, and use the official documentation. It sticks because you apply it immediately, and reading docs is itself a core developer skill.

4. Explain what you learned. After learning something, explain it simply, to a friend, an imaginary student or a rubber duck on your desk. If you cannot explain it simply, you have not grasped it yet. It exposes the holes in your understanding.

5. Get feedback from people. Join a Discord, a subreddit or a local meetup. Ask the "dumb" questions; as a beginner there are none. Explaining your problem to someone often solves it.

Embrace being stuck

I used to feel awful and incompetent whenever I got stuck. Now I see it differently: being stuck means I am about to learn something. Every bug you fix is a rep at the gym. It is uncomfortable and it makes you stronger.

Here is a reality check you can use: save your early projects and revisit them every three to six months. You will be shocked at how messy they look, and that is the point. It is objective proof you are improving.

This hands-on philosophy is exactly what Sigmaschool was built on: you build real projects from the start, mentors review your work, and you learn alongside a cohort with the same goal, using AI as a tool rather than a crutch. If you are stuck in tutorial hell right now, the fastest way out is to build something real with support. Our free trial gets you building in your first session, and the AI-Native Software Development Programme is the full 12-week path.

Questions people ask

  • What is tutorial hell?

    Tutorial hell is the cycle of completing coding tutorial after tutorial without being able to build anything on your own. Following along feels like progress, but because the instructor does the planning and problem-solving, you never practise those skills. The result is freezing in front of a blank editor despite months of study.

  • How do I get out of tutorial hell?

    Start building your own project immediately, even a small one. Pick one tech stack and one project you care about, learn new concepts only when the project needs them, use documentation instead of full courses when stuck, explain what you learn in simple terms, and get feedback from mentors or peers.

  • Is using AI to code a form of tutorial hell?

    It can be. Copy-pasting AI-generated code you do not understand is the modern equivalent of coding along with a video: it produces output without building skill. Use AI to explain concepts, give hints and review your code, but make sure you can build, change and debug things yourself.

  • How much time should I spend on tutorials versus building?

    A good starting rule is at least an hour of building for every hour of watching or reading, and shift further towards building as you progress. Many effective learners spend most of their time building and only pull in tutorials or documentation when a project requires a specific concept.

Your next step

Our 12-week AI-Native Software Development Programme is a live, mentor-reviewed cohort where you build and ship real products with AI, and learn to explain every line. Start with the free trial to see how we teach, then decide.

Watch next

All videos

Learn the fundamentals that pay off in any direction.
Coding plus AI, taught properly.

Whatever you end up doing, the people who understand how software and AI actually work get to direct them. Try the first lessons free, no card needed, or see the full 12-week AI-Native Software Development Programme.