How I used the Feynman Technique to learn how the web works in 5 hours!

Rob Faldo
3 min readJun 4, 2018

--

I mentioned the ‘Feynman technique’, developed by Nobel prize winning physicist Richard Feynman as a way to improve your understanding of a subject in my article on pair programming. The 4 stage process uses a similar concept to the one that Einsteins famous quote refers to:

I won’t go into massive detail explaining it, instead I’ll direct you to this brilliant video that introduced me to the technique which I highly recommend watching. To cut a long story short, there are 4 steps in the Feynman technique:

1. Pick a topic you want to understand and start studying it. Write down everything you know about the topic on a notebook page, and add to that page every time you learn something new about it.

2. Pretend to teach your topic to a classroom. Make sure you’re able to explain the topic in simple terms.

3. Go back to the books when you get stuck. The gaps in your knowledge should be obvious. Revisit problem areas until you can explain the topic fully.

4. Simplify and use analogies. Repeat the process while simplifying your language and connecting facts with analogies to help strengthen your understanding.

Taken from this blog article on the Feynman Technique.

The 4 steps of the Feynman Technique in action

  1. Pick a topic you want to understand and start studying it. I’m currently studying at Makers Academy coding bootcamp in London, and this week we’re learning how to build a web application. I’ve been challenged to learn how HTTP and the web works and my main resource has been the first 60 minutes of this amazing HTTP lecture on the CS50's “Introduction to Computer Science”, along with some web articles and other youtube videos. I spent about 2 hours learning in total.
  2. Pretend to teach your topic to a classroom. Here’s the video of my first attempt at explaining what I had learnt. It’s pretty terrible but it really helped me recognise the gaps in my knowledge, along with my inability to clearly define what I was trying to explain!

3. Go back to the books when you get stuck. I went back to the drawing board. I went over the CS50 video again (the first hour) and stopped to write notes on the concepts being delivered and the connection between them.

4. Simplify and use analogies. I mainly focused on integrating everything that David was explaining into the analogy of the envelope and it travelling from the client to the server, which I felt created a really nice narrative for the whole process that helped me both remember the different steps and their relationships and explain it in a way that someone with no knowledge of the concepts would understand.

Finally, after about 3 hours of the above steps (so 5ish hours total, including initial learning) I delivered a presentation to my girlfriend, who knows absolutely nothing about how the internet works! It went amazingly, I felt so confident in explaining the whole process and couldn’t believe how much I’d learnt. Unfortunately, I was recording through QuickTime and the video got screwed up, in fact it did this for 2 whole recordings! I switched to Apples PhotoBooth to record this video below, which is just under a week after I first learnt the material. The material is exactly the same as the first presentation, so I guess it also gives an insight into how well the content stays in your mind!

Okay, so there are definitely still gaps in my knowledge. I‘m not quite ready to take over from David teaching CS50, but I can barely believe how much my understanding of the concepts and process developed in the space of the 3 hours of using the technique (after the initial 2 hours of learning). I am flabbergasted at how effective the whole process was, I’ll definitely be using this as a technique to learn in the future.

--

--

Rob Faldo
Rob Faldo

Written by Rob Faldo

Ruby Engineer @ Simply Business

No responses yet