Back to All Questions
Learning & SkillsComplete Beginner

Should I take a course or learn by building?

Quick Answer

Build first, take courses to fill gaps. Starting with a real project gives you context that makes courses more valuable. Pure course-taking without building rarely sticks.

Full Explanation

The evidence strongly favours learning by building, but with some nuance:

Why building first works better:

Context for learning: When you hit a real problem ('why isn't my data showing up?'), the answer sticks because you needed it.

Motivation: Working on something you care about keeps you going when things get hard. Courses often feel like homework.

Relevant learning: Building teaches you what matters for your specific goals, not generic curriculum.

Faster feedback: You see results (working features or broken code) immediately.

When courses add value:

After building something: You know what you don't know. A course fills specific gaps.

For foundational concepts: A short course on 'how databases work' or 'intro to web development' provides mental models that help everything else.

Structured fundamentals: If you want to eventually transition to traditional coding, foundational courses become more important.

Recommended approach:

  • . Start building something real immediately (even with lots of fumbling)
  • . When you hit walls, learn just enough to get past them
  • . After a few projects, take a short foundational course to fill conceptual gaps
  • . Return to building with your new knowledge
  • . Repeat

Avoid: Taking multiple courses before building anything. This is comfortable but ineffective.

Two ways to go from question to shipped

Reading is fine. Shipping is better. Pick the path that fits where you are.