How to learn and master skills [StoryTime Saturdays]
Ace your interviews, pick up new frameworks and learn new ideas with this.
To learn more about the newsletter, check our detailed About Page + FAQs
To help me understand you better, please fill out this anonymous, 2-min survey. If you liked this post, make sure you hit the heart icon in this email.
Recommend this publication to Substack over here
Y’all showed a lot of love to yesterday’s piece about the Big Tech war,
I got some very positive replies and 3 different readers took the next steps and become premium subscribers. To our new premium subs, welcome onboard. I’m excited to have you join the cool kids in the premium tiers. Get ready, because greatness is coming.
That post teaches you about the different personas you can choose to build your career in tech. But whichever persona you adopt you will still pursue mastery of the required skills. Today, we will cover how you should structure your learning so that you can become god-tier at whatever path you choose. You’ll be able to use the system described today to pick up whatever skills you want, whether it’s acing Leetcode interviews, learning new technologies+frameworks, or sharpening your communication. You can even use this system to become better at cooking (something I’ve been working on recently).
I have personally used this system to pick up complex topics in fields like Machine Learning, Crypto, and Finance. To know more about my work on Machine Learning, check out my Medium articles. My students have also used the principles here to ace interviews at the biggest firms. Using this system, you will see amazing gainzz in whatever skill you want to develop.
What we will cover
What makes an expert- Experts don’t have remarkably higher memory, IQs, or comprehension. They are much better at a skill that we can all develop- pattern matching. Featuring an experiment on Chess Grandmasters.
The 4 factors you need to become an expert- There are 4 things you need to become an expert at a skill: a Valid Environment; Timely Feedback; Repeated Experiences; and progressive overload. We’ll cover what each means and how to integrate them in more depth.
Some techniques to learn these better- Notetaking and Critiquing what you learn can help you learn these ideas much quicker and deeper. Using examples of becoming better at Machine Learning and DSA (Data Structures and Algos).
I hope you’re excited about this. This will make your learning journey much more productive.
The first 2 sections of this write-up were inspired by the following video. Take a look if you’re interested. Veritasium is a pretty interesting channel and I think you’ll like the content they share. If you’re busy, it’s not required since I will be covering the most important aspects in the email.
What makes an expert
What do you think differentiates a chess expert from a complete novice? Hint: It’s not IQ. It’s also not memory. So what is it? It is (cue the drumrolls)…. pattern matching. I guess I did give that away in the highlights. Please pretend to be surprised to make me feel happy.
What does this mean? Simply put, chess masters can take a look at the chess board, and intuitively know the best moves. They don’t have to think about it, and they can understand the board positions quickly. Where a novice would have to strain to remember piece positions and think about the best moves, a chess master does it effortlessly (literally).
In an experiment, chess masters and noobs were asked to look at the configuration of pieces on a chess board and recreate that board from memory on a fresh one. The masters were able to recreate that board using way fewer glances than the noobs. So how do we know that this is related to pattern matching and not intelligence?
Both groups were asked to do the same task, but this time the original configuration of the pieces was completely random. This meant that the pieces were in positions that would never arise in a chess match. Now, the noobs and the pros had identical performances. The superior performance of chess masters was a result of their familiarity with the chess board, and not inherent mental abilities.
This is exciting stuff. If you can develop your pattern-matching skills for a task, your performance at that task will go through the roof. People often ask me how I can go through and break down Machine Learning papers so quickly. They ask me if there is a technique or speed-reading trick. The truth is much simpler. I’ve read close to 1000 papers at this point. My mind has been optimized for reading ML papers. Even without actively trying, my mind goes to interesting and relevant parts of a paper. I’m not reading through the paper exceptionally fast. My mind is just somehow automatically filtering through the paper to find the most important parts, without me actively trying.
So how can you develop your pattern matching? It’s not just about mindlessly running through the problems. People who read my articles about acing the interviews are often shocked that I stress not doing too many problems. Doing 20 good problems in a systematic way will help you much more than blindly doing 100 problems. So how do we develop things the right way?
The 4 secret ingredients to Mastery
There are 4 things you need to become an expert at a skill-
Valid Environment- To develop your pattern matching, the task you’re working on has to not be random. No matter how many times you work on predicting a coin flip, your performance will not get any better.
Timely Feedback- Imagine we were working on calculus. I give you a few problems to solve. But you only get to know the solution one year later. You won’t be very good at calculus. Prompt feedback allows you to adjust your actions and finetune your process.
Repeated Experiences- While I don’t recommend doing 1000 Leetcode problems, doing 10 will also not help you. If you want to develop a skill, you have to put time into mastering it. As my rowing coach used to say, “Miles make Champions”.
Progressive overload- Once you stick to something, you will find it easy. You have to go up to the next difficulty level, to make your practice useful. Otherwise, you will just spin your wheels and waste a lot of time.
You have to make sure your practice involves all 4 of these ingredients. With this, you can become an expert at whatever skill you want to learn. Very cool, but we’re not done. To those of you that want to go the extra mile and improve your learning process, read on. The next section will help you gain a much deeper understanding of whatever concepts you want to learn.
How to Learn Better
Learning new concepts can be a very daunting process. Everything is new, and there are multiple things that you can look into. We’ve all had the experience where we keep going over the same idea, but can’t get it into our heads. This is because we tend to learn just by reading/watching/listening to a lecture and then trying to do some problems around it. This is a very passive process and is not great for retention.
You can supercharge your learning by making a few tweaks to your style. As you read/listen/watch, pause. Think about the why. Why is this idea important? Where does this idea come from? Is it similar to ideas/concepts in other areas or fields? These fields don’t even have to be related (I once related Brazilian Jiu-Jitsu to Machine Learning. I wrote about that here). This actively engages your mind, and actually forces you to learn. For example, let’s say you were studying DSA. And you are stuck. Instead of just trying to plow ahead, and brute force your way to this instead-
As you study a Data Structure, take time to understand the history of the Data Structure, and how different components were developed. You don’t need a Ph.D. in this, just a working understanding of how various concepts are linked. Remember, each of these Data Structures and Algorithms was created to solve a particular problem. Not understanding how they solve the problems, will just handicap your own learning.
-From my Post, How to Study Data Structures and Algorithms
I have something similar for you if you’re looking to develop mastery in Machine Learning. You’ll have to build familiarity with Papers and go through AI Research. This can be very dense and it’s easy to zone out. Instead, take some time to question the paper. Why is the Author using this approach/model? What is the data preprocessing being done, and how could this skew the results? If I had to change a few things, what would they be? What are the extensions to this idea? All of these will force you to engage with the ideas on a much deeper plane, and help you appreciate the ideas better. For more details on how to read ML papers better, check out my article How to become a Machine Learning Expert.
For more information on the levels of learning, and how they apply to theoretical Computer Science, read this. This approach of analyzing and engaging with your process will improve your results a whole lot. Implementing this will be uncomfortable at first, but will pay off in spades in the long run. Trust the Process and put in the work, and your results are in the way.
Loved the post? Hate it? Want to talk to me about your crypto portfolio? Get my predictions on the UCL or MMA PPVs? Want an in-depth analysis of the best chocolate milk brands? Reach out to me by replying to this email, in the comments, or using the links below.
Stay Woke. I’ll see you living the dream.
Go kill all,
Devansh <3
Reach out to me on:
Instagram: https://www.instagram.com/iseethings404/
Message me on Twitter: https://twitter.com/Machine01776819
My LinkedIn: https://www.linkedin.com/in/devansh-devansh-516004168/
My content:
Read my articles: https://rb.gy/zn1aiu
My YouTube: https://rb.gy/88iwdd
Get a free stock on Robinhood. No risk to you, so not using the link is losing free money: https://join.robinhood.com/fnud75