Why Teaching Others Is the Best Way to Learn
I thought I understood Java. I had been writing it for years. I knew the syntax. I knew the libraries. I knew the patterns. I was confident.
Then a junior developer asked me to explain polymorphism.
Not just what it was. Why it mattered. When to use it. When not to use it. How it changed the way you think about code.
I opened my mouth. Nothing coherent came out.
I realized, in that humiliating moment, that I did not understand polymorphism. I had used it. I had written code that leveraged it. But I could not explain it. Not clearly. Not simply. Not in a way that would help someone else understand.
That junior developer taught me something. She taught me that knowing is not the same as understanding. And that teaching is the fastest path from knowing to understanding.
Let me explain why teaching others is the best way to learn.
The Illusion of Understanding
Here is a painful truth I have learned.
You do not understand something until you can explain it to someone else.
Reading about a concept is not understanding. Using it in code is not understanding. Passing a test about it is not understanding.
Understanding is when you can take a complex idea, break it into simple pieces, and explain it in a way that makes sense to someone who does not already know it.
Most of us walk around with illusions of understanding. We have heard the words. We have seen examples. We have used the feature. We assume we understand.
Then someone asks a simple question. And the illusion shatters.
Teaching exposes the gaps. It reveals the fuzzy edges. It forces you to confront what you do not actually know.
| Illusion | Reality |
|---|---|
| “I know this” | “I have heard of this” |
| “I understand this” | “I can use this when the conditions are right” |
| “I could explain this” | “I have never tried to explain this” |
| “I am an expert” | “I have not been tested recently” |
The Day I Learned More Than My Student
I was mentoring a junior developer. She was struggling with a concept. I sat down to help her.
I thought I would be teaching. I ended up learning.
She asked questions I had never considered. “Why does this work this way?” I did not know. I had just accepted it. She forced me to question my assumptions.
She pointed out inconsistencies. “You said X yesterday, but today you are doing Y.” She was right. I had been inconsistent. I had to reconcile my own conflicting mental models.
She asked for analogies. I had to find ways to explain abstract concepts in concrete terms. That process deepened my own understanding.
By the end of the session, she understood the concept. But I had learned more than she had. Not about the concept. About my own incomplete understanding of it.
| I Thought I Would | What Actually Happened |
|---|---|
| Teach her something | She revealed my gaps |
| Share my knowledge | I had to question my assumptions |
| Be the expert | I became the learner |
| Give answers | I had to find better explanations |
The Feynman Technique
Richard Feynman, a famous physicist, had a learning technique. It is simple. It is brutal. It works.
Step 1: Write the name of the concept at the top of a blank page.
Step 2: Explain the concept in simple language, as if teaching it to someone who knows nothing.
Step 3: Identify where your explanation is unclear or incomplete.
Step 4: Go back to the source material to fill the gaps.
Step 5: Repeat until you can explain it simply.
This is teaching as learning. You do not need a student. You just need a blank page and honesty.
Every time I use this technique, I discover gaps. Concepts I thought I understood become fuzzy under scrutiny. Explanations that felt clear become confusing when I try to write them simply.
The Feynman Technique works because it forces you to confront the difference between recognizing and explaining.
| Step | What It Reveals |
|---|---|
| Write the concept | What you think you know |
| Explain simply | What you actually understand |
| Identify gaps | Where your knowledge is fuzzy |
| Go back to source | What you need to learn |
| Repeat | True understanding |
What Teaching Forces You to Do
Teaching is not just repeating what you know. It is transforming knowledge.
Teaching forces you to organize your knowledge.
You cannot teach randomly. You need structure. You need to know what comes first, what depends on what, what is essential and what is optional. Organizing for teaching organizes your own understanding.
Teaching forces you to find analogies.
Abstract concepts are hard to teach. Analogies make them concrete. Finding good analogies requires deep understanding. You have to see the essence of the concept, stripped of implementation details.
Teaching forces you to anticipate confusion.
What will the student find confusing? What are the common misconceptions? What looks obvious to you but will be invisible to them? Anticipating confusion reveals your own blind spots.
Teaching forces you to answer unexpected questions.
Students ask things you did not anticipate. These questions are gifts. They reveal corners of the concept you have not explored. They force you to think on your feet.
| Teaching Forces You To | What You Gain |
|---|---|
| Organize your knowledge | Clearer mental structure |
| Find analogies | Deeper understanding of essence |
| Anticipate confusion | Awareness of your own blind spots |
| Answer unexpected questions | Exploration of neglected corners |
The Best Teachers Are Always Learning
There is a pattern I have noticed. The best teachers I know are always learning. Not despite teaching. Because of teaching.
They teach to learn.
They do not see teaching as giving knowledge. They see it as testing knowledge. Every teaching session is an exam. Did the explanation work? Did the student understand? If not, the teacher needs to learn more.
They are not threatened by questions they cannot answer.
When a student asks something they do not know, they are excited. Another gap to fill. Another opportunity to learn. Their ego is not attached to knowing everything.
They learn from their students.
Students ask fresh questions. They see things differently. They challenge assumptions. The best teachers listen. They know that teaching is a two-way street.
| Teacher Who Knows Everything | Teacher Who Is Always Learning |
|---|---|
| Threatened by questions | Excited by questions |
| Pretends to know | Admits when they do not |
| Talks at students | Learns from students |
| Stagnant | Growing |
How I Started Teaching to Learn
I was not always a teacher. I had to learn to teach. Here is what helped me.
I started writing explanations.
Blog posts. Documentation. Emails to colleagues. Writing forced me to organize my thoughts. If I could not write it clearly, I did not understand it clearly.
I started answering questions on internal forums.
Someone would ask something. I would try to answer. The act of answering clarified my own understanding. And if I was wrong, someone would correct me. That correction was learning.
I started giving internal talks.
Short ones. Fifteen minutes. On topics I thought I understood. Preparing the talk always revealed gaps. I would have to learn more to fill them. The talk was just the excuse.
I started mentoring.
Not formally. Just helping junior developers when they were stuck. Their questions were better than any textbook. They forced me to think about things I had taken for granted.
| Practice | What It Taught Me |
|---|---|
| Writing explanations | Clarity requires organization |
| Answering questions | Being wrong is learning |
| Giving talks | Preparation reveals gaps |
| Mentoring | Questions expose assumptions |
The Concept I Finally Understood
Remember polymorphism. The thing I could not explain.
I decided to learn it properly. By teaching it.
I wrote an explanation. It was bad. Too technical. Too abstract. Full of jargon. I deleted it.
I wrote another. Simpler this time. But still confusing. I could not find the right analogy.
I asked a colleague to let me explain it to them. They asked questions. Their questions showed me where my explanation was weak. I refined.
I tried again. Better. Still not good.
After several iterations, I found an analogy that worked. Shapes. Circles and rectangles. A method that takes a Shape but you can pass a Circle. Simple. Concrete. Memorable.
That analogy came from teaching. From failing to explain. From trying again. From listening to questions.
Now I understand polymorphism. Not because I read about it. Because I taught it.
| Attempt | What I Learned |
|---|---|
| First written explanation | Too technical, too abstract |
| Second written explanation | Still confusing, no good analogy |
| Explained to a colleague | Their questions revealed weak spots |
| Multiple iterations | Teaching is refining |
| Finally worked | Understanding came from explaining |
The Courage to Teach
Teaching requires courage. It requires vulnerability.
You might be wrong.
You might explain something incorrectly. The student might know more than you. Your gaps might be exposed.
You might not know the answer.
A student will ask something you cannot answer. You will have to say “I do not know.” That feels like failure. It is not. It is honesty.
You might look foolish.
Your analogy might be bad. Your explanation might confuse. You might stumble. Looking foolish is the price of learning.
I have felt all of these fears. I still feel them. But I teach anyway. Because the alternative is staying stuck. Staying in the illusion of understanding. Staying ignorant of my own ignorance.
Teaching is not about being the expert. It is about being willing to learn in public.
| Fear | Reality |
|---|---|
| I might be wrong | Being wrong and learning is better than being wrong and staying wrong |
| I might not know | “I do not know” is honest and opens the door to learning |
| I might look foolish | Looking foolish temporarily is better than being ignorant permanently |
Closing Thoughts
That junior developer who asked me about polymorphism? She taught me more than I taught her.
She taught me that I did not understand what I thought I understood.
She taught me that teaching is the best way to learn.
She taught me that the student often becomes the teacher.
I still teach. I still learn. Every time I explain something, I understand it better. Every time someone asks a question I cannot answer, I find a new gap to fill. Every time I struggle to find an analogy, I deepen my grasp of the concept.
Teaching is not a charitable act. It is not something you do for others. It is something you do for yourself. The student benefits. But you benefit more.
If you want to learn something, teach it. Write about it. Explain it to a colleague. Answer questions about it. Give a talk about it. Mentor someone through it.
You will discover that you do not know what you thought you knew. You will fill those gaps. You will understand more deeply. You will become the teacher and the student at the same time.
That is the best way to learn.
Not reading. Not watching. Not doing.
Teaching.