Thoughts on Ultralearning

23 September 2019

Most of my pastimes involve acquiring new knowledge (e.g., learning core functional programming concepts) or directly practicing a skill (e.g., correctly performing a pull-up). The same can be said about my profession: working on software projects requires constant learning.

To maximize the benefits of such learning efforts, I’ve always been on the lookout for effective learning strategies. One good resource on the best ways to learn is Scott Young’s blog that I have been following for quite a while1. So, I was excited to read his new book Ultralearning.

Why Read the Book?

I haven’t met anyone who wouldn’t like to learn hard skills quickly. Ultralearning lays the principles that people use to maximize the effectiveness of the time they spend learning. It also provides various tactics for implementing the principles in practice. Even though many learners mentioned in the book pursue their learning projects full-time, the general principles can be applied by anyone even if their learning efforts are not as intense.

Of course, everyone has applied some subset of the principles written about in Ultralearning, but the principles probably have been used unconsciously. Scott does a very good job of pointing out and generalizing the principles that effective learners use. Therefore, he makes it easier to determine how your efforts can be improved no matter what skills you’re learning.


The 9 principles that can be used as a framework to guide effective learning pursuits and my interpretation of them are as follows:

  1. Metalearning: planning the learning project.
  2. Focus: doing the task at hand.
  3. Directness: practicing a skill at the level you’re going to use it.
  4. Drill: fixing your weak spots.
  5. Retrieval: the best way to practice.
  6. Feedback: knowing what your weak spots are.
  7. Retention: retaining what you have learned.
  8. Intuition: understanding things deeply (instead of merely memorizing details).
  9. Experimentation: approaching mastery.

Out of the 9 principles, I would like to elaborate a bit more on metalearning, directness, drill, and retrieval. These principles are very helpful for my current learning projects or have been particularly applicable to the previous ones.


As preparation for OMSCS2, I’ve recently started learning computer architecture since it’s one of the areas of computer science in which I feel particularly weak. If I hadn’t been familiar with the ideas explored in Ultralearning, my learning efforts would have been somewhat haphazard. However, having read the book, I’ve decided to apply the principle of metalearning. So, I’ve created a plan on how I intend to learn the subject. It includes my goals, a schedule, learning resources, and practice activities. I can already notice that I am more focused during my study sessions and that I feel more in control compared to my previous learning endeavors. This, I believe, wouldn’t have been possible if I hadn’t planned the project.


As for directness, I think that my experiment with using spaced-repetition software3 to test myself on various machine learning concepts illustrates well how violating this principle is a suboptimal way to learn. I have tried using flashcards to actively study various machine learning algorithms and concepts. However, the use of flashcards is very different from how I want to use this knowledge, so the knowledge I have acquired with this learning method is fragile. A better way to learn machine learning is to practice using it in a more natural and complicated way: apply machine learning techniques to real-world datasets or read machine learning research papers and implement the algorithms used in those papers4.


The purpose of drills is to fix your weak spots that you’ve identified with the help of feedback during direct practice.

One of the admission requirements for the OMSCS program was to get a particular score on the TOEFL exam since I am a non-native English speaker. When I was preparing for the exam, I identified (by taking practice exams) that out of the four main skills5 tested by the exam, my weakest skill was speaking. Also, a native English speaker pointed out that it would be easier to understand my spoken English if I improved my intonation. This meant that I needed to focus on intonation a lot more, so I used various drills to improve it. For example, I would watch a TED talk for a duration of 5 to 10 seconds, stop it, try to mimic the intonation of a native speaker while recording myself, and then compare the recording with the video. This allowed me to focus on a subskill (intonation) in a broader skill (speaking) and improve it more efficiently than if I had just tried to speak about various topics. This is because I would then need to worry about what I want to say, whether my grammar is correct, and so on. To my surprise, I received 29 out of 30 points in the speaking section of the exam, which was way more than I expected, so I think that the drills worked.


The idea of the retrieval is basic: learning is more effective if you try to test yourself without the help of external sources instead of merely reading and rereading the learning material. The problem that many people (including myself) face is that the more effective approach is less enjoyable6. For instance, implementing an algorithm is much harder than merely reading about it, so the default human tendency is to choose the easier option.

As an example, during my mathematics studies, the way many people tried to learn to prove theorems was to merely read derivations in a textbook or notebook. A more effective strategy is to write down the theorem on a blank piece of paper and try to prove it without the help of external sources. This is much harder than reading the proof, but it undoubtedly leads to a deeper understanding of the material (and makes it easier to perform better in exams).

Remaining Principles

I haven’t written about the remaining principles of focus, feedback, retention, intuition, and experimentation. They are, of course, very important as well (e.g., without retention strategies, you’ll forget that you’ve learned), but I encourage you to explore them in more detail by reading the book.

Recommending Ultralearning

It would have been awesome if this book existed when I was younger because the use of the learning strategies outlined in Ultralearning would have allowed me to learn the material in high school, university, or my professional life much more effectively. Luckily, I am aware of the strategies now. If you want to improve your learning efforts, I can’t recommend this book enough.

  1. As an example of the content you can find in the blog, see The Complete Guide to Memory.

  2. I’ve included more details in my first blog post Back to School.

  3. An explanation of spaced repetition can be found in this Wikipedia article. The program I use in particular is Anki.

  4. The fact that flashcards don’t work in this particular learning endeavor doesn’t mean that they are not effective. They are very effective for remembering details, for example, learning words in a foreign language.

  5. The exam is divided into four sections that test reading, listening, speaking, and writing abilities.

  6. See a recent (at the time of writing) article Active Learning Works But Students Don’t Like It.