How I Learn
One of the skills that I find to be indispensable for a product manager is the ability to learn new things quickly. The reason why this is important is because we operate in an environment where things change constantly, and there is frequently a need to jump in and help with a specific aspect of product delivery that is new. This raises an interesting question - what is the best approach to learn things quickly? It’s no secret that learning new things is rarely comfortable - when you first start taking tae-kwon-do classes, you’ll get kicked a lot. When you first take a calculus course, you’ll probably encounter a lot of things that are flat out confusing. I personally found a couple of helpful approaches that allow me to learn a skill in a relatively constrained timeframe, while not burning out. This post is about that.
Set a schedule #
When I want to learn something that I have no expertise in, I start by putting together a tentative schedule - when and what do I want to tackle. What is the metaphorical “deadline” by which I want to have made some progress towards more expertise in the domain? Now, this is less so about saying “I will be an expert in X by Y” - that would be impossible to estimate correctly, and expertise doesn’t just come in a fixed time frame (spoiler alert - it comes from experience over time). This practice is more about being able to define when I will be able to take deep dives into the subject. Think of it as if you’re putting together your class schedule. Maybe you want to take a stab at the topic during lunch, or maybe you have time on the commute home when you can listen to an audio book in a foreign language. I found that having a regular schedule helps in building the learning discipline.
Learn in chunked time periods #
With a schedule in place, an important aspect of being able to internalize the topics that I am learning is by studying them in well-defined time chunks, usually an hour long. Going beyond that, I find that my mind gets tired and I have to switch gears to something else. Goes without saying that if your mind is tired, you are not really learning as much as you are browsing the material or topic at hand. I usually have about two or three time chunks dedicated to a topic per day when I have more free time, and one time chunk during work days, when I have other responsibilities.
Don’t pack too much in a day #
Sometimes it’s very exciting to try to cover as much as possible of a topic in a day. And that is a fantastic indicator that I have a deep interest in actually understanding what I am learning. However, the drawback is that if I focus too much on one thing in a single day (e.g. spend six hours reading on a topic) I find myself to be much more mentally exhausted and have a harder time recollecting some of the intricacies of things I learned. I quickly realized that the best way for me to gain experience with a topic is by not doing it all day, every day, but rather “ration” the learning throughout months, with a bit done to advance my comprehension every day.
Don’t give up when encountering “walls” #
There are times when the topics become very confusing - there are either poor explanations, or bad examples. Those moments can be frustrating, as the learning progress slows, and I feel like I am hitting a brick wall. Those are the riskiest moments, when it is extremely easy to throw in the towel and give up - after all, the obstacle is too complicated. The reality is - it’s not. There is nothing that I cannot understand given enough time and effort. It’s just a matter of overcoming that initial friction point. So, when I find myself questioning whether I even need to learn this specific aspect of the domain I am working on, the answer is a resounding “yes”. And here is the kicker - once I actually overcome the barrier, I have a much better understanding of the topic.
Find a way to relate the subject to your own interests #
Nothing can boost the interest in a subject more than being able to clearly align the incentives of learning with what I am trying to accomplish either in my personal or professional life. My wife is Korean-American - a lot of her family speaks Korean, so when I started learning the language, I had a clear goal in mind, and that is to be able to communicate with her extended family. Similarly, when I first started using R, I did so because I wanted to be able to better understand the data of the project that I was working on. Once you have a vested interest in learning something, the enthusiasm for it can come naturally.
Apply early, apply often #
Just reading a book on public speaking is not going to teach one how to be a good public speaker - they would need to actually get on stage and present a topic to a crowd. Learning to code by reading a blog post is akin to learning to swim by watching the Olympics - you might understand the concept, but in practice things are vastly different. As the saying goes, “In theory there is no difference between theory and practice, while in practice there is.” I tend to try to apply what I learn as quickly as possible, no matter what it is. If it’s a language - I want to start speaking it and have native speakers provide feedback. If it’s a data analysis method, I want to put together a short research paper and have data scientists review it with me.
Take notes on paper #
Personally, I learn best when I take copious amounts of notes, with the caveat that the notes are not electronic. Somehow, I found that I am not internalizing the topic as well when I use the keyboard to jot down some key aspects of it. This is completely different when I use paper. As I write things down, I am able to both question what I am learning, as well as take the time to better understand the “why” of a note.
Don’t memorize, build mental models #
There are many approaches to this, but what I found works for me is instead of memorizing a concept I try to find a way to create associations that allow me to recall it later. For example, if I am learning how to use
matplotlib, it doesn’t make much sense to just remember the lines of code that can generate a specific chart. Instead, I try to understand the sequence of events that I need to replicate to ensure that I get to draw a chart, such as preparing the data frame, setting the axes and the chart colors, and then using the data frame to populate the graphic. Having this understanding, I then can recall specific pieces of the library that are responsible for each part. Raw memorizing can be useful sometimes but will rarely help you when you need to apply the concept in a slightly different manner than what you learned.
Build an environment where you can focus #
Distractions are going to be all around you when you are trying to learn, so try to build an environment where those are minimal. The less distractions you have, the more likely you are to immerse yourself in the topic. I find that working in a closed office, or at a library is best when I need to dive into a really complex domain. During those times, I am not looking at my phone, I do not browse the internet or try to do anything but learn.
Find ways to present your findings to others #
Another way of applying the knowledge I have is sharing with others on what I learned. That is also a fantastic way to get feedback on the material early on - if I am misunderstanding a concept, or I can’t explain it clearly, it means that I don’t truly understand it, and it’s a signal for me to go back to the drawing board and do some more studying. For example, when I started learning Kusto, a query language and data store we use heavily at Microsoft, I set out to deliver “brown bag” presentations to my team, where I showed how I can use the tooling at hand to better gauge content and site performance. The question that I got uncovered a number of blind spots, that I worked to address long term, and I like to think that I now have a much better understanding of the infrastructure than I had in 2015.
Learn constantly #
With workouts, if you don’t do it for a long time - your muscles atrophy. The learning capacities of the brain seem to be following the same pattern, where I found myself having a harder time learning new subjects if I am not actually actively making an effort to do just that - learn new subjects. I try to keep my brain in shape by constantly finding new things to learn - a programming language, a library, a set of statistical concepts. It doesn’t quite matter what captures my interest at the time, as long as I am making a proactive effort in making time to read on, apply and internalize a topic.
Last but not least, there is no one-size-fits-all learning approach that will be universally applicable. Find out what works for you and what doesn’t through practice and reading more about other people’s methodologies. The above might work for me but can be completely unfit for someone who likes to learn in a noisy coffee shop.