"Can you actually learn programming by only doing projects, or do you need tutorials first?" is one of the most argued questions in self-taught developer communities, and the honest answer is that both sides are right about a different phase of learning. The research on how novices and experienced learners process new material explains exactly when each approach works and when it backfires.
Quick Answer: it depends on what you already know
No, not from zero. A 2006 review by Paul Kirschner, John Sweller, and Richard Clark found that minimally guided instruction, including pure discovery and problem-based approaches, underperforms guided instruction for novices. The pattern that works: learn just enough syntax through short, focused tutorials, then switch to projects as soon as you can read code without translating every line, and keep increasing project difficulty from there.
Why tutorials and projects both fail at the wrong time
The core issue is cognitive load, not motivation or "learning style." When someone with no programming background sits down to build a project with no guidance, their working memory has to hold the problem itself, the syntax they do not yet know, and the logic to connect the two, all at once. Kirschner, Sweller, and Clark's 2006 paper in Educational Psychologist (41(2), 75 to 86) reviewed decades of instructional research and concluded that minimally guided approaches, including pure discovery learning and unguided problem-based learning, consistently produce worse outcomes for novices than approaches that provide direct guidance early on. The paper has been cited more than 12,000 times, and it remains one of the most referenced pieces of evidence against "just figure it out by building" as a starting strategy.
The mechanism behind this is what Sweller called cognitive load theory. Novices lack the mental "schemas," pre-built patterns for recognizing a problem type and its solution, that experienced programmers rely on without thinking. Without a schema, every project decision (what to name a variable, which loop to use, how to structure a function) has to be reasoned out from first principles, which consumes working memory that should be going toward learning the underlying pattern. This is why a beginner can spend three hours on a features that an experienced developer writes in ten minutes: they are not slower at typing, they are solving a much harder cognitive problem because they have no shortcuts yet.
This is where the worked example effect comes in. Studies going back to the 1980s (Sweller and Cooper's original work, and reviewed extensively since) found that novices who study a fully worked example, one where every step of a solution is shown, learn more and learn faster than novices given an equivalent problem to solve unaided. Seeing the solution path first builds the schema that later problem-solving depends on. This is the strongest evidence for "watch a tutorial first" as a starting strategy for true beginners.
But the same research identified a flip side that explains why the "just build projects" camp is also right, just for a different audience. Slava Kalyuga, Paul Ayres, Paul Chandler, and John Sweller documented the expertise reversal effect in a 2003 Educational Psychologist paper (38(1), 23 to 31): as learners gain expertise, the same worked examples that helped them as beginners start to actively slow them down. An intermediate learner already has partial schemas, so being walked through a fully worked example becomes redundant information that adds load instead of removing it. At that stage, unguided or lightly guided problem solving, building the project yourself, becomes more effective than watching another tutorial.
Put together, these two effects describe a single curve rather than two competing camps. Guidance helps most at the beginning and helps less, then actively hurts, as skill increases. The learners who insist "just build projects" are usually already past the steepest part of that curve. The learners who insist "you need tutorials first" are usually reasoning from what worked before they had any schema at all. Neither group is wrong about their own experience; they are describing different points on the same curve.
Your realistic options, compared
Once the guidance-versus-practice tradeoff is framed this way, it becomes easier to evaluate what actually helps at each stage.
| Option | Cost | Guidance | Retrieval practice | Best for |
|---|---|---|---|---|
| Pure project-first, no tutorials | Free | None | High, but unstructured | Learners who already have a schema from a related language or field |
| Tutorial-first, watch-only | Free | High | None | Absolute first exposure to syntax, for a short window only |
| Structured free project curriculum (e.g. The Odin Project) | Free | Built into the curriculum's ordering and milestones | High, projects are the core deliverable | Beginners past the first syntax hurdle who want a guided project sequence |
| Paid bootcamp or course platform (Udemy, Coursera Plus at $59/mo) | $9.99+ per Udemy course (varies by sale), or $59/mo for Coursera Plus | High, instructor-paced | Varies, often optional exercises | Learners who want fixed deadlines and are willing to pay for them |
| LearnPath | Free tier; Pro $12.99/mo | AI-curated YouTube path adapted to your current level | Quiz gates after each video require recall before advancing | Learners who want the guided-to-independent curve above handled automatically |
The honest takeaway from this table is that cost and production quality are not what separate these options. What separates them is whether the guidance fades as you improve, or stays fixed regardless of your level. A structured project curriculum works because its ordering already encodes the guided-to-independent curve: early modules hold your hand, later ones expect you to build unaided. Pure tutorial-watching and pure unguided project attempts both fail the same way, by picking one point on the curve and staying there no matter how your skill changes.
For more on why passively watching content specifically breaks down even when the content is good, see our piece on why you understand tutorials but can't build alone, which covers the recognition-recall gap in detail.
How to build a plan that uses both, in the right order
-
Time-box your first tutorial phase to 10 to 20 hours. This is enough to learn basic syntax, common patterns, and how to read an error message, without enough time to fall into the trap of tutorial hell. Pick one beginner-friendly source and finish it; do not restart with a different one halfway through.
-
Test whether you are ready to switch with a single check. Open a code sample you have not seen before in your target language. If you can read it and understand what each line does without pausing to look anything up, you have the schema you need to start building. If you cannot, you need more guided exposure first, not a project.
-
Pick a project that is 80% familiar and 20% new. The ideal first project reuses most of what you just learned and stretches you with one or two new concepts. A project that requires ten unfamiliar concepts at once recreates the same high-load, no-guidance problem the 2006 Kirschner, Sweller, and Clark review warns against, just with a project instead of a discovery exercise.
-
When you get stuck, look up the specific gap, not a new full tutorial. The instinct to "watch one more tutorial" when a project gets hard is usually a mistake. Search for the one concept you are missing, read or watch just that, then return to the project. This keeps you on the practice side of the curve instead of resetting to the guidance side.
-
Increase project difficulty in small steps as your confidence grows. Each successful project should reduce the amount of external guidance the next one needs. If you are still relying on step-by-step tutorials for every new project six months in, that is a sign the projects are not scaling in difficulty, not that projects "don't work" for you.
-
Reassess your guidance level every few projects, not once. The expertise reversal effect means the right amount of guidance keeps shrinking as you improve. A structure that checks in periodically, rather than committing you to one fixed curriculum for a year, matches how your actual skill curve moves. Pairing this with a consistency system matters more than picking the perfect ratio on day one, since the ratio only helps if you actually show up.
For learners who would rather not manually time-box tutorials and manually judge when to switch, LearnPath's adaptive learning approach automates this by generating a YouTube-based path that gets harder as quiz performance shows you are ready, and by gating each video behind a quiz so the guided phase cannot turn into passive watching.
Frequently Asked Questions
Can I skip tutorials completely and just build projects from day one?
Not if you are a true beginner. Cognitive load research shows novices with no prior schemas learn less from unguided problem solving than from worked examples. Once you know basic syntax and can read code without help, switching to project-first practice works better than more tutorials.
Is project-based learning actually better than watching tutorials?
It depends on your level. For someone with foundational vocabulary, yes: building forces recall and exposes real gaps. For a complete beginner, pure project-first learning creates high cognitive load with no scaffolding, which research links to more frustration and higher drop-off than guided practice.
How much tutorial should I watch before switching to projects?
Enough to read basic syntax without translating every line in your head, typically 10 to 20 hours for a first language. Once you can follow a code sample without pausing to look up what each symbol means, stop consuming and start building small, scoped projects immediately.
What is tutorial hell and is it the same problem as this question?
Tutorial hell is watching tutorial after tutorial without ever building independently, and it is the opposite failure mode from jumping straight to unguided projects. Both fail for the same underlying reason: neither one balances guidance with retrieval practice. The fix is the same ratio, just applied from a different starting point.
Do paid bootcamps solve the guidance problem better than free resources?
Bootcamps provide fixed structure and instructor feedback, which helps with the guidance side, but the format is expensive and the pace is set for the group, not you. Free structured project curricula and quiz-gated learning paths can provide comparable guidance without the cost or fixed pace.
How does LearnPath help someone move from tutorials to independent building?
LearnPath sequences YouTube videos into a path and quizzes you on each video's transcript before unlocking the next one, so you cannot passively binge through the guided phase. As quiz scores show you are ready, the path branches toward harder material, mirroring the shift from worked examples to independent practice that the research recommends.
