Watch and Code       Subscribe       RSS

The Dream

I wrote this post after a student asked me what makes Watch and Code different from other sites.


The Dream

Watch and Code is inspired by the dream, the world I’d create if I had unlimited time and resources. In the dream, there are only three things: you, an amazing teacher, and a project you really care about.

In the dream, you work with your teacher to figure out how to build the project piece-by-piece, starting with the simplest of things. At each step, your teacher explains exactly what you need to know. Nothing more, nothing less. The two of you repeat this until the project is finished.

Along the way, you learn all the things you need to make the project, as you’re making it. This motivates you even more, but you’re not motivated by the knowledge, you’re motivated by the new things you can do with that knowledge.

And since there are so many similarities between different projects, you have the power to bring your ideas to life. But you still don’t feel quite comfortable yet, so you do a few more projects with your teacher. By this point, your teacher is just there for motivation. The teacher disappears, but to your surprise, you feel completely at peace.

There are a few important things to notice.

  1. Topics are never taught in isolation so that you know when, why, and how to use something.
  2. Knowledge by itself is meaningless. What’s important is what you can do with that knowledge.
  3. This is not an endless treadmill. The end goal is independence so that you can learn things on your own.

With this as a starting point, I began working backwards to adapt the dream to the constraints of reality. This effort is Watch and Code.

The Existing Order

The existing order is not reaching for the dream. It’s trying to move the broken models we have in the real world to the internet. It’s replicating a nightmare.

In this nightmare, you take forever to learn discrete topics in isolation. Then one day, almost by magic, you’re expected to put the pieces together on your own to do something useful.

By the time you figure out the game and get the confidence to speak up, you may find that the existing order is quick to blame you. You might hear that this is really hard, not everyone can do it. Or that not everyone has the discipline. Maybe there’s another career for you.

The existing order creates so many courses and lessons that nobody can finish. Then it’s easy to say, well there are more courses. This is the promised land for companies trying to make money but a nightmare for people trying to learn. And that’s if you’re lucky.

In other cases you can’t finish because the “teaching” is too confusing and makes huge leaps in difficulty. Simple things appear to be really complicated because the author is more concerned with sounding smart than actually teaching. Or even worse, there are errors in the material and it doesn’t make sense.

Just when you think it’s all over and manage to finish something, you get this fleeting moment of satisfaction until you realize that what you learned isn’t what you actually need. So you hop back on the hamster wheel again, cross your fingers, and hope it’ll work out before your patience runs out.


If you want to learn how to build real software with JavaScript, you should sign up for Practical JavaScript.