Struggling with complex concepts? Try the Feynman Technique

Mary Ann Navarrete
5 min readJan 26, 2021

Have you ever struggled to understand a challenging problem, topic or fully grasp a complex concept? Have you read the material word for word, and then, later on, realize that you can’t even remember what you just read? And then when the time comes to apply what you just read, you don’t even know how to solve or answer the question?

“You are not alone! “ — said ME.

As someone who is currently a full-stack software engineering student, and fairly new to programming in general, my experiences with learning Ruby, Rails, and Javascript has been quite,..umm...the journey, we can call it. I laugh out loud every time I see this gif below because it is literally me every other day at school. Every time I feel like I finally understand a function or topic, I look up and BAMMM, there is something new or more complex to it. I thought I read the material thoroughly, only to come out of it confused with Justin Bieber’s song “What do you mean” playing in my head.

What is the Feynman Technique?

The Feynman Technique is a four-step process used to help better learn, understand, and remember any concept or topic. It was named after Richard Feynman, who was a world-renowned theoretical physicist and won the Nobel Prize in 1965. At a young age, Feynman took to science and engineering and was self-taught in subjects, such as algebra and integrals. He then went on to study at MIT and then Princeton for his Ph.D. He would keep a notebook of concepts and theories he didn’t quite understand and would spend time breaking down each process, to understand its parts individually. It was then, as a student at Princeton, that he developed the Feynman technique.

Feynman’s ability to comprehend and decipher concepts and theories on a vast array of subjects earned him the ‘The Great Explainer’ title. The Feynman technique is summarized into four easy to follow steps:

Step 1 — Choose topic, write it down & study it

The first step is to identify the topic or concept you want to learn and study it. This can be any topic, both technical and non-technical within any discipline. Then write this topic down on a blank piece of notebook paper or word document. Jot down everything you already know about the topic. Then add any new information about this concept to the paper.

Step 2 — Teach the topic

Once you’ve completely studied the concept, teach this as best you can, to someone else. Alternatively, if you’d rather not involve another person or don’t have someone available, teach it to an imaginary audience, your pet, or record yourself teaching in an audio or video format.

Another great alternative is to write a blog post about it, such as here on medium! This was the direction I took when trying to have a clearer understanding of which method was best to use when iterating over Arrays or Hashes using .each, .map, .select, and .find w. For a visual learner such as myself, I thought it was best to attempt my explanation using real-life situations or examples, such as an NBA team. Check out my blog post about this! → “The Starting Four of Ruby’s Enumerable Methods: .each, .map, .select and .find

Note: The technique that works best is to teach a real person so that they’re able to ask questions or provide feedback if something is not clear.

Step 3 — Go back and review the gaps

After teaching someone else (or yourself), you should be able to identify what gaps in your knowledge are, if any. Go back and review what you do not know by studying the material, re-reading specific parts that were still unclear to you or you had a little difficulty explaining.

This time around read that specific gap thoroughly. And repeat as necessary until that missing gap of knowledge is simpler, easier to understand, and easier to explain.

Step 4 — Simplify the topic

Once you have identified the gaps in your knowledge, gone back to review and study them, simplify this concept as much as possible. Pretend you are now teaching this to a child, by forcing yourself to break it down using simple words, removing any jargon or syntax that this concept may have. Try using real-life examples, draw out diagrams or use side-by-side comparisons. Maybe create simple analogies to help you recall the concept.

It can be hard to eliminate clutter and simplify the concept to a point where young kids with minimal vocabulary can understand it. However, doing so allows you to thoroughly grasp and deeply master the topic.

EXAMPLES —

1) Think of a scope chain in Javascript like this:
“When the school principal makes an announcement to the entire school that you should wear your favorite hat on Friday, think of that as the outer scope. All students in each grade and each classroom know it’s fun-hat Friday. That is global scope — where all students have access to the message because the principal announces it to every student. Then, Mrs. Smith makes a special announcement to her 2nd-grade class. She says, “Along with wearing your fun hat, we are going to have a pizza party on Friday too!” So Mrs. Smith was able to tell her student’s about the Principal’s announcement, as it was accessible to everyone. However, only Mrs. Smith’s class knows about this pizza party, and unfortunately, the Principal or anyone outside of their class will not. That is like local scope. Only those students within that class (or function) know or have access to that pizza party. TGIF!”

2) Or draw and write it out like this:

Conclusion:
There are many tools out there proven effective to help better your comprehension when learning. In this particular technique, the end goal is to understand the topic well enough, that it can be conveyed to others in the most simplified manner. And on another note, just because you couldn’t understand something clearly the first time around, doesn’t mean failure. It just means an opportunity to better improve your understanding and further your knowledge than ever before.

--

--

Mary Ann Navarrete

Hospitality Sales turned Software Engineer. I love building things, solving problems and analyzing complex data. Tales of my journey with a mix of positivity.