by Zell Liew

Why you learn when you teach

Photo by NESA by Makers on Unsplash

The best way to learn is to teach.

You’ve heard many people say this. But is it true?

I knew teaching had benefits. For example, if you teach, people will know you exist. People may be able to learn from your experience. But learn? I was skeptical.

But I realized the statement is true. You learn best when you teach. I can vouch for it after teaching frontend development for many years.

This article explains my thoughts on why teaching others helps you learn.

To understand why teaching helps you learn, we have to first talk about learning. You can’t teach something when you haven’t learned it.

The learning process

Let’s say you want to learn JavaScript. All you know is you’re on one side of a cliff. The endpoint is on the other side of the cliff.

You don’t know how to cross the gap (yet).


When I tried to learn JavaScript, I read through countless books and tutorials. I even looked at source code to see how people coded. I also searched for best practices.

Each bit of material I come across acted as a tiny foothold for me to get to the other side. Some materials were easy to understand. Others were hard.


Sometimes the footholds were too far apart. I missed my step, I fell into the valley, and I tried again.


Sometimes I hit a wall. I didn’t understand articles I read. I fell into the valley, and I tried again.


After trying enough (and losing enough lives), I toned up my leg muscles. I could jump a little farther and higher than before. I tried the articles I couldn’t understand again.

And sometimes I succeeded in getting past the stage I was stuck at.

And I got to the other side.


Only to realize there’s more to go…


But that’s okay. There’s always more to go. That’s what makes learning fun.

Teaching helps you gain perspective

I didn’t know how far I’d gone until I started teaching JavaScript. I thought I knew very little. Not enough to be “an expert” yet anyway.

But it turned out that I knew a lot. Enough to even make a super comprehensive course on JavaScript.

So here’s a side benefit to teaching.

When you learn, you focus on moving from cliff to cliff. You have no idea how far you’ve gone because you don’t stop to think.

But when you teach, you stop.

You pause, you look backward, and you realize how far you came. You gain perspective, and this perspective gives you confidence in your abilities.

You know more than you give yourself credit for.

The teaching process

When you teach, you try to help someone cross the cliff you crossed.


One way to teach is to direct people to resources you went through. They will likely face the same difficulties you faced. They’ll hit walls, and they’ll miss their steps. Hopefully, they’ll gain enough strength to move past the obstacles themselves.

But this isn’t teaching. This is simply… pointing people to the resources you used. You can help shorten their learning curve, but you’re not teaching. Not yet.


To teach, you walk backwards. You stand beside the student and help them through the gap.

You can point them to a tutorial while you wait for their questions. Sooner or later, they’ll ask questions that surprise you, like “Why this and not that?”

Sometimes, one way is better than the other. Sometimes, both ways are possible. And you learn there’s another way to cross the cliff.


Sometimes, you think of a better example to help them cross the chasm more easily. When you do this, you build another foothold for yourself.

That’s why you learn when you teach — you build more footholds.


Maybe one day, when you’ve answered enough questions, you’ll build so many footholds that you’ll fill the gap.

That’s when your knowledge is rock solid.


There’s no need for footholds anymore. You can simply walk across. Students you teach can walk across, too.

Who can you teach?

You don’t need to be an expert to teach. You can teach anyone who wants to cross the cliff you crossed.

It’s best to help immediately because you know how it feels to go past the cliff. You know danger spots where students need to be aware.


Sometimes people will ask you questions and you’ll go, “I don’t know”.

That’s okay. You may not be able to fill up all the gaps yet. But now you know you’re missing a piece. You can fill it up later by doing more research.


Sometimes you won’t be able to fill up the gap immediately. There are too many things you don’t know about.

That’s okay too. Maybe you’ll find the block of stone you need as you progress to another cliff. It’ll be in plain sight.

When you see it, you can go back and fill it up.

That’s another reason why you learn when you teach — you see gaps in your knowledge.

Want to learn to teach better?

Some developers are horrible at teaching. They’ll throw resources your way and ask you to figure it out yourself. Others talk in alien FOOBAR language that you’ll have a hard time understanding.

Don’t blame them. They’re doing the best they can. Maybe they’re not interested in teaching. And that’s okay.

But you can teach well if you want to.

I know a thing or two about teaching after writing tutorials for years. I want to share more of these things with you.

Would you be interested? If yes, I’d love to hear:

  1. Why you want to teach
  2. What are your greatest obstacles to teaching

Can’t wait to hear from you in the comments below :)

Thanks for reading. Did this article help you in any way? If I did, I hope you consider sharing it; you might just help someone who felt the same way you did before reading the article. Thank you.

Originally published at