Note: Embrace the Challenge of Learning: Insights from Andrej Karpathy

June 27, 2024

Recently, I came across a quote from Andrej Karpathy, whose videos and teaching style on YouTube I greatly admire. His words resonated deeply with me, serving as a powerful reminder that genuine learning and progress are supposed to be challenging.

In it he outlines three steps to mastering a subject:

  • Depth Over Breadth: Focus on completing concrete projects and learning what you need as you go, rather than trying to cover everything superficially.
  • Teach What You Learn: Summarize and teach the material in your own words to reinforce your understanding.
  • Personal Progress: Measure your progress against your past self, not others.

Here’s the full quote:

There are a lot of videos on YouTube/TikTok etc. that give the appearance of education, but if you look closely they are really just entertainment. This is very convenient for everyone involved : the people watching enjoy thinking they are learning (but actually they are just having fun).

Learning is not supposed to be fun. The primary feeling should be that of effort. It should look a lot less like that “10 minute full body” workout from your local digital media creator and a lot more like a serious session at the gym. You want the mental equivalent of sweating.

I find it helpful to explicitly declare your intent up front as a sharp, binary variable in your mind. If you are consuming content: are you trying to be entertained or are you trying to learn? And if you are creating content: are you trying to entertain or are you trying to teach? You’ll go down a different path in each case. Attempts to seek the stuff in between actually clamp to zero.

So for those who actually want to learn. Unless you are trying to learn something narrow and specific, close those tabs with quick blog posts. Close those tabs of “Learn XYZ in 10 minutes”. Consider the opportunity cost of snacking and seek the meal - the textbooks, docs, papers, manuals, longform. Allocate a 4 hour window. Don’t just read, take notes, re-read, re-phrase, process, manipulate, learn.

How to become an expert at a thing:

  1. Iteratively take on concrete projects and accomplish them depth wise, learning “on demand” (ie don’t learn bottom up breadth wise).
  2. Teach/summarize everything you learn in your own words.
  3. Only compare yourself to younger you, never to others.
From Python to Emacs Lisp Piping arithmetic in Elixir