“Just build projects” is like telling someone to “just speak French” to learn French.

You know the advice. It’s everywhere in coding circles, delivered with the confidence of someone who’s already on the other side:

“Stop doing tutorials. Just build something.”

“The best way to learn is by doing.”

“Pick a project and figure it out as you go.”

It sounds empowering. It sounds like the kind of tough-love wisdom that separates serious learners from tutorial hell prisoners. And for people who already know how to code, it’s probably the best advice they can give—because they’ve forgotten what it’s like to not know.

But for actual beginners? It’s paralyzing.

The Skills You Don’t Have Yet

Here’s what experienced developers forget: project-based learning assumes you already have the skills you’re trying to learn.

When someone tells you to “just build a to-do app,” they’re assuming you know:

These aren’t coding skills. They’re meta-skills. And beginners don’t have them yet.

Telling someone to “just build projects” when they lack these skills is like handing someone ingredients and saying “just cook.” If you’ve never cooked before, you don’t know that you need to preheat the oven. You don’t know what “sauté until translucent” means. You don’t know whether the recipe that says “30 minutes” is lying.

The project isn’t the lesson. The project is the final exam.

Decision Fatigue Before You Type Anything

Let’s walk through what actually happens when a beginner tries to follow this advice.

They open their laptop, ready to build something. And immediately hit a wall of decisions:

What project should I build?

What tools should I use?

How do I even start?

You’ve burned through your daily motivation budget before typing a single line of code.

This isn’t a lack of discipline. This is decision fatigue. Every choice requires evaluating options you don’t yet have the experience to evaluate. It’s mentally exhausting in a way that has nothing to do with actually learning to code.

The cruel irony? The beginners who power through this phase and succeed aren’t succeeding because of the “just build” advice. They’re succeeding despite it. They have either:

For everyone else, “just build projects” translates to: “Guess blindly until you stumble onto the right path or give up.”

The Paradox: You Need Structure to Break Free From Structure

Here’s the thing nobody wants to admit: you need structure to build the confidence to work without structure.

Think about how you learned literally anything else:

You learned with training wheels. With scaffolding. With someone breaking down the complex skill into manageable pieces and saying “do this part, then this part, then this part.”

And somewhere along the way, without even noticing it, you stopped needing the structure. The training wheels came off. You started improvising. You started building your own projects, naturally, because you had internalized the patterns.

The goal isn’t to avoid structure. The goal is to internalize it so deeply that you don’t need it anymore.

The developers who swear by “just build projects” have forgotten this. They’ve forgotten that they once needed structure too. They learned to code when tutorials were terrible, documentation was sparse, and Stack Overflow didn’t exist. They had to struggle. And now they’ve romanticized that struggle into a virtue.

But struggle isn’t the same as learning. Friction isn’t the same as difficulty. Sometimes friction just wastes time.

The Netflix Principle

Netflix doesn’t show you infinite movies the moment you open the app.

Imagine if it did. Imagine if Netflix just dropped you into a database of 15,000 titles with no categories, no recommendations, no “Top 10,” no autoplay. Just a search bar and the words: “Find something to watch.”

You’d close the app. Not because you don’t want to watch something, but because the cognitive load of choosing would exceed your desire to watch.

Instead, Netflix guides you:

And only after you know what you like do you start exploring freely.

The same principle applies to learning to code. Beginners don’t need infinite possibilities. They need good defaults and clear next steps.

Give them:

Then, gradually, as they build confidence and pattern recognition, you can open up the possibilities. You can introduce them to alternative approaches. You can show them that there are multiple ways to solve problems.

But not on day one. On day one, they need to know: “If you type this, this happens.”

Ease of Starting > Theoretical “Best” Learning Method

The coding education space is obsessed with finding the “best” way to learn. And everyone has an opinion:

“Computer science fundamentals first!”
“No, web development is more practical!”
“You need to learn C to understand memory!”
“C is a waste of time, learn Python!”

But here’s what actually matters: the best learning method is the one you’ll actually stick with.

And the method you’ll stick with is the one that makes it easy to start and easy to make progress.

Consider two paths:

Path A: “Just build projects”

Path B: Structured, step-by-step learning

Which one do you think more beginners will stick with?

The “just build projects” camp will argue that Path A produces better developers faster. But it doesn’t matter if 90% of people on Path A quit in the first week. You can’t become a great developer if you stop learning to code.

What Actually Works

The reality is that most successful developers didn’t actually follow the “just build projects” advice when they were beginners. They:

  1. Started with structure – tutorials, courses, or classes that made early decisions for them
  2. Built small, guided exercises – not projects, but focused practice on specific concepts
  3. Gradually increased autonomy – adding their own features to existing code before building from scratch
  4. Only then started building independent projects – once they had enough pattern recognition to make good decisions

The path isn’t “tutorials OR projects.” It’s “tutorials THEN projects.”

And the transition happens naturally. You don’t need to force it. As you internalize patterns, you’ll get bored of following instructions. You’ll want to try your own ideas. You’ll start thinking “I wonder if I could build…”

That’s when you know you’re ready.

The Uncomfortable Truth

The reason “just build projects” is such popular advice isn’t because it’s effective for beginners. It’s because:

  1. It sounds tough and impressive – it signals that you’re a “real” developer who doesn’t need hand-holding
  2. It’s easy advice to give – it doesn’t require the giver to actually teach anything
  3. It suffers from survivor bias – the people who give this advice succeeded despite it, not because of it

But the number of talented people who could have become great developers but gave up because they were told to “just build projects” too early? We’ll never know how many. We only hear from the survivors.

The Real Advice

If you’re a beginner, here’s what you actually need to hear:

Start with structure. Not forever. Just at first.

Find a resource that:

Learn the patterns. Internalize the syntax. Build muscle memory. Get comfortable with the tools.

And when you’re ready—when you catch yourself thinking “I wonder if I could make this do X instead”—that’s when you start building projects.

Not because someone told you it’s time. Because you’re ready.


The goal isn’t to avoid projects. The goal is to reach the point where building projects feels like the natural next step, not a terrifying leap into the unknown.

Because that’s when learning actually happens. Not when you’re paralyzed by decisions you’re not equipped to make, but when you’re exploring possibilities you’re curious about.

Structure first. Then freedom. In that order.