If you can’t explain it simply, you don’t understand it well enough. - Albert Einstein
Hopefully all of us want to get better at the things we do. Most of us, if we enjoy something, want to get better at that thing. There are many different ways to learn something new; each style has its merits and benefits. Yet, in my experience, there is one method of learning that I have found to be the best way of mastering a field you are interested in. This method is known as the Feynman Technique. Feynman had an incredible grasp on what it meant to be an expert in a field. He boiled it down to your ability to explain a topic in which you have a lot of knowledge to someone who has no prior abilities in that domain. This stands contrary to what many people believe to be the sign of understanding something. Many people believe that you are an expert in a topic when you can use all the big words, convoluted acronyms, and domain specific terms for your field. However, Feynman believed that that was a sign that a person was not an expert in his field. In fact, he believed that if you needed to use such complex language to explain yourself, you were not knowledgeable enough in your field.
Feynman strongly held to the idea that one had to be able to convey his thoughts to even the simplest person, clearly and concisely, to prove that he knew enough about his field. E. F. Schumacher, the british statistician puts it like this “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”. The more you understand a topic, the more simple the topic will be for you to explain. That is the essence of what I am getting at here. An interesting thing about this concept is that you can actually become better at a field by explaining it to people. This is what the Feynman technique is all about. How often have you had to help someone with an issue that they are having, and in the process, have come away with a better understanding of what you were talking about. You see, when you learn something, at first, you simply know how to do that thing. You know how to create a certain algorithm, you know how to mix and match colors, you know how to explain and justify decisions and expectations to a client. By definition, learning a new skill means that you have a good understanding of, at the very least, the “how” question. If I write this piece of code, it will fix my problem. If I put this button in this corner, the design looks pretty and visually appealing. But that leaves out one important question “why”?
Knowing “why” is a booster that takes your knowledge of a subject to a far deeper level. There is a story about a great engineer who was called out to a plant where a machine had ceased to work. This engineer spent a few minutes looking at the machine before he took out a small ball pein hammer and tapped on a few areas of the machine. He then turned on the machine and it worked fine. The engineer then went to the owner of the plant and gave him the bill $900.00. The owner of the plant was taken aback and demanded that the engineer send him an itemised bill. After all, the engineer had only spent 10 minutes at the plant and had only tapped the machine in a few places with a hammer. The engineer sent the bill the next day with the following items: “$1.00 for hitting the machine with the hammer, $899 for knowing where to hit the machine”.
So, how can you use the Feynman Technique to get you to that level? Well, when you teach someone something, you are forced to answer the why question. We are hard-wired to ask why, and when someone is showing us something, we are prone to do just that. This means that teaching someone makes you have to think about that why in a way that you haven’t done so before. Perspective is a big thing in learning. Looking at things from a different angle is almost always going to be beneficial. So, let’s look at how you can make use of the Feynman Learning technique.
1: Teach it to Someone Else (or Pretend to)
The first step of the Feynman Method involves just going for it and getting your hands dirty. If you have a topic that you want to improve your skills in, you have two options. A, if you can, offer to teach someone that skill. Make sure that everyone involved is happy to participate and has the knowledge that you are learning. If you are uncomfortable with, or unable to, teach someone else, you have option B - pretend to teach a child. The important thing is for you to step into the role of a teacher. You can either write the topic out on a piece of paper and write down everything that you think the hypothetical child would need to know about the topic or, you can even take a rubber duck (or some other such inanimate object) and verbally explain the topic to it. As you are doing this, pay close attention to one important thing - your words. A good rule of thumb to see what aspects of a topic you do not know well enough is to see where you are using jargon and fancy talk. Take note of every point you have trouble explaining. Any concept that you aren’t able to simply explain to someone else is a concept that you need to up your knowledge of. This will manifest in you, as we mentioned before, using big fancy words, but it can also be shown when you glaze over an area of a topic or use terms like “it just works like that, I don’t know why” or “that’s just how it’s done”. That is a big red flag saying that you haven’t really got a knowledge of the topic that goes deeper than the “how” for that concept. Each of these concepts you note down in this step will be carried over to the next step.
2: Dig Into Those Concepts You Didn’t Understand
Once you have flagged down all the problem areas in your knowledge, you will need to “go back to the drawing board” as it were. Take your time and review your source material. Dig deeper into those concepts that you didn’t know well enough to explain simply. Take yourself from having the illusion of knowledge to a point where you have actual knowledge. You can test yourself on this quite easily. As you dig into those concepts and learn more about them, ask yourself questions and see if you can answer them simply. You can even repeat step one on the more complex topics and pretend to teach just that concept to someone, doing that until you have gotten to a point where you can explain what you need to explain simply. You can make use of tree maps or other forms of visual diagramming to plot out your knowledge of a topic. This is just a good way of easily tracking where you are lacking knowledge.
3: Revise, Regroup, and Reorganise
At this point, you should have a list of different concepts that make up a more complex [overarching] topic. Better yet, you should now have a good grasp of that topic’s various building blocks - the concepts that comprise it. Now you can “rebuild” the topic in your mind. On a blank piece of paper or on some fresh notetaking apparatus, take your scattered notes and form them into a single narrative flow. That is to say, organise them into a format that will help you to teach the topic, just like you did in step one. It could be a good idea to have a single binder or notebook that is just dedicated to having these “final” notes. As the years go by, this notebook will fill up with all manner of topics and subjects and will be a visual representation of the things you have learned over the years. Think of this book as your other brain, the sourcebook of your gained knowledge. Let it remind you of just how far you have come from when you started.
4: Rinse and Repeat (Until You Want to Stop)
We are finite beings and as such, we can never fully know everything there is to know about a subject. You can alway ask why, always. It doesn’t matter how good the answer to your question is. There will always be that one step further you can dig into the topic. You can watch this brilliant video of Richard Feynman demonstrating this:
You can see this as a form of recursive learning, that is to say, learning that just repeats itself as you dive deeper and deeper into it. See this methodology as a processing machine through which you can run your knowledge. Each time you run a topic through it, you will come out on the other side with more refined and detailed knowledge. Remember, it is up to you to decide how deep into a topic you want to go. Ask why until you feel you have learned enough about the topic to move on and learn something else. This doesn’t mean you know everything, but you know enough.
Some Closing Notes, Words, and Thoughts
The Feynman Technique is really powerful and has been really helpful to me personally. I mean this whole article makes use of it. It may be slightly meta, but in teaching you the Feynman Technique, I was using the Feynman Technique itself to do so. Even in writing this article I have found myself learning more about the topic. This learning method is extremely powerful because it gently helps you to think differently which almost helps you to think better. As you dig into the underlying concepts that make up a topic you will come to realise just how much you don’t know, and that’s a good thing. Use that. There is nothing that is quite as powerful in learning as knowing what you need to find out. Don’t think don’t think of these gaps in your knowledge as chasms that are preventing you from becoming an expert but as unexplored pathways that will get you to that point. Remember that the difference between the wise man and the fool is that the wise man knows that he is a fool, the fool does not.
So, go out and teach. Teach your rubber duck or teach your colleague, whatever you are comfortable with. Not only will you become far more confident and knowledgeable, but those who you are teaching (provided you are actually teaching real people and not rubber ducks) will also be uplifted by the knowledge you are imparting to them. Even if your colleague is more knowledgeable on a topic than you, you can still teach them something they didn’t know before. So don’t be afraid to show your lack of knowledge in a topic. Embrace it and use it to become better.
Other Articles I've Written
Creating a Useful Component Library
August 5, 2020
One of the great benefits of the many SPA frameworks that we use nowadays (such as Angular and React) is that it is super easy to make reusable UI components that are clean and self-contained. Components that are built in these frameworks are easier to debug and far more reliable than the traditional sort of component. We can create a project with something like the Angular CLI and have a nice little directory for the components we are using in our app and it’s all hunky-dory from there.
An Opinion on Progressive Enhancement in CSS
March 8, 2020
Although support for the “plague browsers” is dropping by the year, developers across the world are faced with the challenge of having to support older web browsers like Internet Explorer. Such browsers have very limited support for new web technologies like grid, flexbox, or custom properties. Because of browsers like this, the CSS spec gives specific instructions to browsers about how they should treat CSS rules that they do no understand.