How To Apply the Feynman Technique To Grow as a Software Developer
Richard Feynman was considered by many to be an incredible lecturer and a genius physicist. He had an uncanny ability to explain incredibly complex scientific subjects in an accessible way without relying on overly complex terminology.
As developers, we can leverage this mental model to accelerate our own growth and help others by teaching as we learn.
The Feynman Technique
Identify a subject
Teach it to a child
Identify knowledge gaps
Organize, simplify, tell a story
Choose Your Weapon
You need to pick what you want to learn about.
This could be anything, UI frameworks, CI testing, automation, etc.
Once you have a topic, write down everything you know about it, researching what you need to teach it.
Teach
But where do I get a child?
We don’t need to teach it to an actual child. It could be an imaginary child or even a friend. It should be someone who isn’t familiar with the topic at hand. For example, explaining to my realtor friend the concept of components in React.
Breaking down a complex topic into something anyone can understand in plain language is a definite sign that you truly know something.
Jargon, and by extension business speak, are the shields of the ignorant.
Identify Gaps
You’ll likely have discovered some areas where you either couldn’t break it down enough or had to use some complex language.
You might not have been able to phrase things in the way you would have liked, and that’s ok!
Identify those gaps and do some more research.
Tell a Story
We want to go back and trim where we can, simplifying our lesson to form a cohesive story.
Stories can be powerful. An exciting one has a way of sticking with you, being hard to forget. This concept can also apply to learning.
If we can frame our teaching as a story, we will reinforce the lesson for the student and ourselves.