I know programming, but none of my family or friends understand it. Yet, I still make a sincere effort to explain my work. Some common questions I get from them are:

  • What does all this text do?
  • What’s with all the colors?
  • Is this hacking/cracking?
  • What exactly are cookies?

None of these are informed questions but I enjoy answering them nonetheless. They may seem like a waste of time for someone with expertise, but you can still learn a lot from these basic questions.

Why Teach

Learning requires an active effort. Unlike memory or recall, comprehension needs works on your part. This is the rationale behind many learning strategies (and, a lot of homework assignments). Although there are individual differences, I believe everyone can benefit from teaching.

Teaching is one of the most involved tasks you can engage in. It requires enough comprehension to not only understand the author’s words but to also be able to translate into your own words.

This high level of involvement is what brings about high levels of comprehension. Moreover, the process helps refresh your memory, reinforce the main concepts, and, best of all, shows exactly what you did and did not understand.

Shoshin

One particular benefit that only teaching provides deals with your perspective. For the most part, you are confined to your own mind. You read with your mind, you write with it, you speak with it. But, with teaching, you get to notice someone else’s mind and how they respond to things you already learned.

This is exceptionally helpful when you deal with absolute beginners. They may lack the sophisticated vocabulary, but they also lack the narrow-mindedness, preconceived notions, and dogma found with some professionals. Zen Buddhist’s call this concept Shoshin (初心) or roughly “beginner’s mind.”

And so, by teaching even the most basic questions, you improve your own learning and expand your own perspective.

The Feynman Technique

A method that elegantly melds all these ideas is the Feynman Technique. Invented by the famous physicist Richard Feynman, it involves only one step:

Whatever you are learning, studying, or working on, teach it in its entirety to a 5, or 8, or 12-year-old.

To do this successfully, you have to take your expertise and distill it down to its essentials. Moreover, you have convey this knowledge using a simple, near universal language. All of this requires an enormous amount of work; yet, the rewards are equally great.

For Feynman, his methods made him known as the “Great Explainer” and his Lectures on Physics is arguably the most popular physics book ever written. For me, explaining even the most basic concepts in programming helps my mind bridge the gap between what I see and what a novice sees. It shows me the overly technical things, the hard-to-understand things, the widely appealing things, and the absolutely essential things.