The Illusion of Understanding
Ever felt confident about a concept until someone asked you to explain it? That gap between “I get it” and truly understanding is exactly what the Feynman Technique destroys.
Named after Nobel Prize-winning physicist Richard Feynman (nicknamed “The Great Explainer”), this method is based on one simple truth: if you can’t explain something simply, you don’t fully understand it yet.
For software engineers juggling microservices, algorithms, and design patterns, this technique is your secret weapon.
The Four Steps That Change Everything
Step 1: Pick a Specific Concept
Do: SPECIFIC
- “How does React’s virtual DOM diffing algorithm work?”
- “What’s the difference between useState and useReducer?”
- “How does React’s reconciliation process determine what to re-render?”
Don't: TOO BROAD
Step 2: Teach It to a Beginner (Or a Rubber Duck)
Now comes the heart of the technique: explain your concept as if teaching it to someone with zero technical background. This means no jargon, and no assumptions.
Why teaching works: According to E-Student’s research, this step “forces you to not only deeply master the information but to also grasp how all of the different elements join together.” The act of teaching reveals whether you truly understand or are simply parroting memorized definitions.
The Rubber Duck Connection: This directly connects to rubber duck debugging from The Pragmatic Programmer (Hunt & Thomas, 1999). Developers discovered they could solve bugs by explaining their code line-by-line to an inanimate rubber duck. Why? Because articulating your thinking exposes logical gaps and faulty assumptions you'd otherwise miss.
Different teaching methods work for different people:
- Write it down: Create a document explaining the concept from scratch
- Talk to a real person: Explain to a friend, colleague, or family member (College Info Geek research shows real feedback is invaluable)
- Talk to a some AI: Explain to a AI using voice mode
- Use the mirror method: Explain aloud to yourself while watching your facial expressions
- Record yourself: Create a video or audio explanation and listen back critically
- Teach a rubber duck: The classic debugging approach—surprisingly effective for learning too
Step 3: Identify Your Knowledge Gaps
While explaining, you’ll inevitably hit walls—moments where you realize you can’t clearly articulate something, or questions you can’t answer. These gaps are gold. They pinpoint exactly what you need to study.
The psychology behind this:
According to Ali Abdaal’s analysis, “identifying where we’re struggling makes us more intentional about our learning. Instead of covering stuff we already know (like when we reread or highlight), we automatically focus on topics that need the most work.”
As Carol Dweck’s growth mindset research demonstrates, students who believe their intelligence can be developed (growth mindset) outperform those who think abilities are fixed (fixed mindset). Embracing knowledge gaps—rather than avoiding or hiding them—is the hallmark of a growth mindset. These gaps aren’t failures; they’re your roadmap to mastery.
Richard Feynman’s own words: “The first principle is that you must not fool yourself and you are the easiest person to fool.” When you can’t answer a child’s “why?” question about your topic, you’ve found a gap that needs filling.
The iterative nature: As Noji’s comprehensive breakdown explains, “this step may repeat several times before you’re ready to say ‘I nailed it!’ But the more you explain the topic, the better you get.” Learning isn’t linear—it’s iterative.
-
Return to source material:
Re-read documentation, textbooks, or research papers with your specific gap in mind -
Seek concrete examples:
Find or create examples that demonstrate the concept in action -
Ask experts:
According to University of York guidance, "if you can't answer the 'why' question a child might ask, you should go back to studying the material" -
Experiment hands-on:
For technical concepts, write code to test your understanding -
Don't skip or gloss over gaps:
As Farnam Street warns, moving forward without filling gaps means you don't actually understand the concept
Step 4: Simplify and Use Analogies
Â
Â
Â
Â
Â
- Reorganize your thoughts so the explanation flows naturally
- Finish incomplete thoughts rather than leaving hand-wavy gaps
- Find simpler examples that demonstrate the core concept
- Create a "complex terms" list: As Noji recommends, "keep a list of terms that might be unfamiliar to children. Define them if you must use them, or avoid them entirely."
Â
Â
Â
Why This Works
The Feynman Technique leverages the Protégé Effect—teaching is the most effective way to learn. When you teach, you must organize information coherently and own the material completely.
According to research from Growth Engineering (2026), this technique “systematically converts surface-level knowledge into deep, applicable understanding” by forcing you to monitor your own comprehension—the very skill missing in the Dunning-Kruger effect.
Real-World Example: Git Rebase vs. Merge
Step 1: Choose the concept
“How does git rebase differ from git merge?”
Step 2: Explain simply
MERGE: “I kept my diary, you kept yours,
now we’re combining both with a bookmark
showing where we joined.”
git merge feature-branch
REBASE: “I’m rewriting my diary as if I’d
already read yours first—one clean storyline.”
git rebase main
Step 3: Find gaps
– What happens to commit SHAs during rebase?
– Can I rebase pushed commits? (Yes, but…)
– What’s interactive rebase?
Step 4: Refine
“Merge adds a ‘the stories came together’ chapter. Rebase edits your manuscript to make events flow linearly from the start.”
Career Impact at Every Level
Junior Developers:
Build confidence, improve communication, accelerate learning
Mid-Level Engineers:
Ace technical interviews, enhance mentorship, deepen system design knowledge
Tech Leads/Managers:
Write better documentation, explain complexity to stakeholders, identify team knowledge gaps
CTOs/Entrepreneurs:
Pitch technology simply to investors, make better hiring decisions, rally teams around clear visions
Common Pitfalls to Avoid
Using jargon as a crutch
→ Explain to your non-technical friend
Skipping uncomfortable gaps
→ Remember Dweck: “Failure doesn’t define you. It’s a problem to face and learn from”
Over-simplifying to inaccuracy
→ Simple ≠wrong; maintain technical accuracy
Quick-Start Action Plan
- Choose one concept you're currently struggling with
- Set a 25-minute timer
- Write/record yourself explaining it to a beginner
- Note at least three knowledge gaps
- Research those gaps and refine your explanation
- Share with a colleague or post online
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius—and a lot of courage—to move in the opposite direction.
Thank You for Spending Your Valuable Time
I truly appreciate you taking the time to read blog. Your valuable time means a lot to me, and I hope you found the content insightful and engaging!
Frequently Asked Questions
Start with 25-minute Pomodoro sessions. Complex topics like distributed systems may need multiple sessions. As research indicates, this technique "requires time and effort" but depth beats speed.
Use rubber duck debugging! Talk to any inanimate object, write blog posts, or create documentation. The articulation is what matters, not having an audience.
When you can: (1) explain without jargon, (2) answer "why" questions, (3) create original examples, (4) connect to related ideas, and (5) identify common misconceptions.
Absolutely! System design interviews essentially ask you to use the Feynman Technique on the spot. Practice explaining systems like "design Instagram" or "how Netflix streams video" to develop interview-winning clarity.
Yes! Break the language into specific concepts: "How does Python's GIL work?" or "What makes list comprehensions different from map/filter?" Research shows this technique applies effectively across programming, languages, and technical subjects.
Comments are closed