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.


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.

©️ 2023