A photo by me on Unsplash
Published: 03.10.2022
Time to Read: 5 mins
There is one thing I figured out over the years. When you simplify things, they become beautiful.
I did not come up with the following ideas or definitions myself. It was always somewhere in between the lines of the blog posts I was reading. There is one specific thing I picked up over the years, and even put it as a tagline on this website. That is: "Explain things like I am five". Recently, I have found out that there is a name and a definition, hell, the whole technique for learning behind this simple saying. Let me introduce to you "The Feynman Technique"
Richard Feynman was a very smart guy (source: Wikipedia):
Richard Phillips Feynman (May 11, 1918 – February 15, 1988) was an American theoretical physicist, known for his work in the path integral formulation of quantum mechanics, the theory of quantum electrodynamics, the physics of the superfluidity of supercooled liquid helium, as well as his work in particle physics for which he proposed the parton model. For contributions to the development of quantum electrodynamics, Feynman received the Nobel Prize in Physics in 1965 jointly with Julian Schwinger and Shin'ichirō Tomonaga.
But, most of all, I like that he is known as "The Great Explainer". He developed a whole technique for explaining complex physics in plain and simple language. Take any field, and you will notice that it is very hard to explain complex technical terms and ideas to people who have no idea or knowledge about that field. That is why I am writing today about "The Feynman Technique".
"The Feynman Technique" is a learning framework for deep learning and deep understanding of a chosen topic. It prioritizes simplicity, i.e. explaining things in a simple, understandable way. It focuses on deep understanding of the topic. The core of this technique is to convey complex ideas in simple and elegant terms, focusing on the concept and avoiding the technical jargon.
Jargon, vague words and speaking with a lot of complexity reveals a lack of understanding. If someone is trying to explain something to you and uses a lot of technical jargon they probably do not understand the matter well enough themselves.
The framework consists of four parts:
The first step is to choose a concept or a topic you want to learn. Narrow it down and make it specific. The key here is to start small. For example, learning programming is really not narrow and specific enough. But, if you want to learn recursion or a specific design pattern, well, that is already much better.
Next thing you would have to do is to write down everything you know about the topic. Be specific and try to identify the things you do not know. After that, go and read or research the topic and especially the things that are not exactly clear to you. Try to break it down into its core elements.
Once you have learned new things and identified some new insights add them to your notes. Try to use your own words to define things. You should be able to explain those sub concepts in your own words. After you are done with the research, try to understand the whole picture. Zoom out, look for practical use cases and examples.
Once you are done with your initial research, try to teach what you have just learned to someone else. This is best practised with somebody who does not have the same base for understanding the subject. This is where the idea of teaching it to a child comes in. Kids are so curious about the world and they will seek an explanation they can understand. This process can prove very valuable as you will see which parts you struggle with and where your knowledge gaps are.
In the teaching process try to use simple language and remove any jargon and as much complexity as you possibly can. Try to use simple examples and analogies from the real world. One thing to keep in mind is that teaching is a feedback loop for finding out what we do not know. It is not about us explaining what we do know.
After you have practised some teaching and gathered some feedback, try to reflect on it. Assess it from an honest point of view. Was your teaching successful? Were they able to apply the learnings? Was there any frustration in the process? Where did you have to turn to jargon? This is the time to reflect on all these things, refine your notes, simplify them. Repeat this introspection until you think you have a simple explanation. Try to get rid of any assumptions you are making.
Go back to studying the topic with an intense focus on the knowledge gaps. This is where you do deep learning. Go as deeply as you need to. Uncover everything there is about the subject.
The last step in the process is to organize, review and further simplify your notes to tell a short story about the topic. Try to use simple but elegant language to convey your ideas. Re-write as much and as often as needed. It makes sense to try it out with people again and refine where needed. How effective was your teaching? What questions did come up? Which parts are they still struggling with?
Review, simplify and re-organize your thoughs and your notes. Try to build a cohesive understanding of the topic. Finish your incomplete thoughts. One thing that helps me in this regard is having more than one approach to learning and teaching.
By the end of this whole process you will gather a lot of experience. Both working with and researching the topic, as well as, teaching it to others. Once you are able to explain it to a five year old child, you can say that you really know this topic.
This is what I wrote in the about section of this website. I always try to grasp the concept or the idea first, and then go deeper into the matter. On top of that, I really value teaching. It does not have to be formal, regular or asked for. Every teaching opportunity is also a learning opportunity for me. Therefore, I embrace those with both hands.
What about you? How do you do deep learning? How do you do teaching?
I am a self-taught Web Developer. My mission is to explain things in a simple but understandable way. During the years, I have helped several Junior Developers kick start their careers, land an internship or a job or just in general get over the coding hurdle that they have encountered.