TL;DR: Learning is hard; try to balance work and relaxation, and try to tackle problems the same way your brain does.
Take yourself back a few years. It’s 2014; everyone and their mom is talking about the new big craze: Massive Open Online Courses (MOOCs). They’re going to revolutionize learning, anyone with internet access can teach themselves whatever they want. Hell, you can even get the equivalent of an undergraduate computer science degree for free. We were at the peak of inflated expectations and MOOCs did not live up to the expectations carved out for them.

MOOC Hype Cycle
Six years later, the scope of online education is nothing to laugh at. Sure, no one is counting your online ribbons and certificates, but, if all you care about is learning, there is an endless ocean of material for just about anything you desire.
Learning How to Learn ¶
To utilize all these resources, you need a raft. You can try your luck swimming through the ocean but there’s a reason only 4% of MOOC takers complete the courses they take. I couldn’t find any statistics on completion of non-MOOCs, things like MITx lectures, but the numbers are probably similar. Learning is hard; learning online is even harder.
As a programmer, your job is to learn. Technology changes rapidly and your job is to teach yourself. Being a good developer has nothing to do with what languages you know, or what libraries you’ve worked with, it’s all about how quickly you can teach yourself and how quickly you can understand something new. But especially now, with everyone stuck at home, the entire world is trying to learn new things. This is the best time to revisit one of my favorite MOOCs, a class that revolutionized the way I learn and think: Learning How to Learn.
Learning How to Learn, taught by Barabara Oakley and Terrence Sejnowski is by far one of the most influential and life-changing classes one can take. As I take advantage of my new-found free time and learn new things ranging from how to cook to Multivariable Calculus, Dr. Oakley’s lessons echo through my head. So, for both myself, and for anyone that happens to read this, I will recall and explicate the lessons that I remember from this course, and how I apply them as a programmer and as a student.
The Brain ¶
Dr. Oakley opens her course with an explanation of the brain that I have used as a lens for everything that I do. She asks us, what exactly is learning? Neuroscience, at least in 2014, told us that learning happens when the brain forms new synapses. “Learning”, is the process of evolving and strengthening the connections in your brain. How do we do that?
The brain operates in two states. When you’re concentrating attention and positive effort at a task, when you’re thoughts are closely knit and tightly wound together, your brain is in the “Focused” mode. When you’re allowing your thoughts to drift around, when you’re taking your time and not thinking about any one particular thing, your brain is in the “Diffuse” mode. You need both to strengthen your brain, you need both to learn.
To learn, you need to first focus on thoughts, form the ideas, and try to get practice. Then, you should just take a small break, let your brain relax, and get into that diffuse mode. Allowing your brain to cycle between these modes creates the memories and connections that you need to learn. Dr. Oakley recommends the Pomodoro Technique to do this at a micro-scale, and at a larger scale, sleep and relaxation.
Maybe it’s the night owl in me, but I tend to retain things that I practice before bed more than anything else. Alongside this, I tend to go for a run or just pull back and relax when I encounter a problem that I cannot resolve. This is completely anecdotal but it’s backed up by Dr. Oakley’s research, your brain just functions better after you take a small rest. So the next time you’re debugging, the next time you’re trying to understand some complex idea and you’re just not getting it, take a break. I can’t use the Pomodoro technique, the timing is too rigid for me, but I employ that idea of cycling between focused and diffuse every single day.
Chunking ¶
Chunking is the process of turning every single thing you want to learn into a series of ideas that are all interconnected. You are, in essence, helping your brain form connections during the focused and diffuse modes. As discussed before, your brain first forms ideas when focused, and then intertwines them and forms the bigger picture once you are diffuse. Chunking is a method of studying that mimics this format. It’s what your brain already does, why not help it?
The easiest method, one that I’ve found is especially helpful, is to create a roadmap. You can keep procrastinating, but build that roadmap as soon as possible. Give your brain the time and opportunity to start thinking about what you’re doing. To build a roadmap, you want to gain an overview of everything that’s going on. Look at the technical terms and the formulas and the buzzwords; just have some basic understanding of the bigger picture. I recommend skimming over your textbook or skimming over similar projects, whatever you’re doing.
Once you have an understanding of the bigger picture, go over some examples, little by little. Whenever you don’t understand something, try to guess, try to fill in what it could mean using your understanding of the picture. Regardless of whether you’re able to guess, then you go back and look at the textbook. If you don’t have a book, ask for help. The goal here is to work your way through an example and make use of those “connection muscles”. Don’t forget to take breaks though.
Finally, once you’ve worked your way through some examples, make your own. Whether you’re just changing the numbers, making the background blue instead of green, or doing your own thing entirely, do it. It’s really easy to become reliant on examples and cookbooks. Rather than learning a topic, you learn to regurgitate it. Try to take what you’ve learned and apply it in a completely different manner. Once you’re “done” learning, summarize. Teach others. Part of the reason I’ve created this blog is that I know that the best way for me to remember and understand everything that I do, is to teach it to others. All of these steps help your brain chunk ideas and allows you to gain a better understanding of whatever it is you’re learning.
Jump into the deep end ¶
I love jumping right in. Whatever I’m doing, I work my way backwards. I start with complex resources, not aimed at someone with 0 knowledge, or I jump right into the problem set. When it’s something new, I’m completely lost, and that’s expected. Instead, I absorb the vocabulary, I write down whatever I don’t recognize, and then I work backwards, researching and learning everything I didn’t know. I can’t promise this will work for you, but I’ve found great success in just jumping in.
Enjoy it ¶
Never, ever, let learning become burdensome. Take a break. Start training yourself to do short bursts of work, and then take a break, and don’t let yourself get overwhelmed. Too many people have negative experiences with learning new things. It’s difficult. If there’s anything that you should take away from Dr. Oakley’s course and this little blurb, it is okay to relax. It’s even better than okay; relaxing helps you learn.