I know what the title says, but I’d like to instead start by saying: I didn’t always enjoy teaching things or helping others understand different topics. As a matter of fact, it kind of [extremely] annoyed me to find people who didn’t seem to get a grasp on the things that I did at the same speed that it had taken me to learn them.

I was a very different (definitely more selfish) person than I am today. But I am glad that I didn’t stay being that way, because then I would have missed out on what has to this day been one of the most satisfying experiences of my life: Sharing my knowledge with other people.

Teaching is the reason that I even started writing this blog in the first place.

But what I find the most interesting is not what I was able to teach others. But what teaching others how to do different things has taught me.

And that is what I’m here to talk to you about today.

Lessons learnt from teaching JavaScript.

“Well yes sir, I’ll be giving a lesson on advanced JavaScript to everyone next week!”, or at least that’s what I had said to my boss that very same day. It seemed like an easy enough endeavor, teach what I believed to have already mastered to others who didn’t knew as much about it.

Boy. Was I wrong.

That very afternoon I experienced the same panic any student has ever faced while preparing for a presentation in class. And the reason I was feeling like this was that, while I may have known the subject, I still had no idea how to explain it.

This was the very first lesson that sharing my knowledge with others ever taught me:

Teaching shows you what you don’t know.

Since the only thing I had ever been forced to do with the language was to use it, that’s all I actually knew how to do. Never had I been put into a situation where I was forced to understand what I was doing and thus I wasn’t even aware of the fact that I didn’t (understand it.)

Because you see, it is one thing to know how to perform a certain operation (in this case, how to code in JavaScript) and another thing entirely to have to explain this very same process to somebody else.

And that thought led me to the realization that while I knew how to code in JavaScript, I didn’t understand JavaScript. I didn’t know the ins and outs of the language: how it gets executed, how the engine works, what was scope, how it coerces variables, how prototypal inheritance is supposed to function, etc.

And because I didn’t understand all of these things, I wasn’t able to explain the language beyond the basics of “You type things into the text editor and then magic happens” kind of way or the “It just works, alright?” school of teaching.

And I would’ve gone in next week and disappointed everyone, had it not been here that I learnt my second lesson from teaching others:

Teaching things helps you understand them better.

That very same day I started scanning through every single piece of JavaScript knowledge that I could encounter, looking for a source that could give me some direction. And after I was able to secure a learning path that seemed effective, I began devouring every single piece of information in my way.

I suddenly knew things that I had never even wondered about the language, and this knowledge led to questions, which I then proceeded to answer. And those answers bred more questions, which in turn led to more answers.

The cycle continued for an entire week leading up to my course.

Not going to lie to you though, I did a good job teaching that one 5-day course, but it wasn’t by any chance close to the best I have ever explained these things to anybody. I still had to go a long ways in learning everything, but each subsequent iteration taught me something new that I could then transfer onto the newer students.

Still, had I not encountered myself in that position, I never would have learnt the language to the degree of mastery that I know possess. And for that I am thankful.

A couple more lessons.

There’s actually a few more things I’d like to say about teaching, but these aren’t ones that I can actually pinpoint to a specific point in time or a particular story. These lessons occurred slowly, as most changes often do.

As I began to spend more and more time sharing my knowledge with other people, something began to change inside me:

  • The lack of attention (normal in some students) stopped annoying me, instead I learnt that I wasn’t being engaging enough.
  • I learnt that some people understood things in different way than others, and that I didn’t really know something all that well until I was able to teach it to them.
  • Most amazingly I found that people are very thankful that you take the time to help them out, and they show it in different ways: being happy to see you when they arrive, inviting you home to eat, sharing their friendship with you.
  • I learnt to be patient.

All of this led to the final two lessons that I want to share with you all:

Teaching helps you understand others.

And, even more so:

Teaching helps you understand yourself.

I may have been the one teaching other people how to do certain things. But they were the ones teaching me all the important life lessons, they were the ones sharing their everyday lives with me through the brief minutes or hours that our interaction lasted.

Through my student’s and coworker’s eyes I was able to see tenths of different perspectives to life that I would’ve never gotten access to otherwise. And in doing so I was able to know more about who I am.

So as a closing thought, I’d like to invite you to start sharing your knowledge with other people: teach a course at work, create an information sharing forum or a book club, start a blog, etc. Do so not only for the things that you can teach others but, perhaps more importantly, for the things that other people can teach you. Who knows, you might even get known for doing that.


My name’s Orlando Paredes Hamsho. I’m a 25-year-old Web Developer living (mostly) in Guadalajara, Mexico; albeit I intend to move pretty soon. Apparently, I also run a blog now, and have been doing so for a while.

Write A Comment