What I learned from Coursera’s “Learning How to Learn”

How I’m using learning techniques from a Coursera course to be a better developer

Abhishek Pillai
Aug 26, 2016 · 7 min read

I’ve been a Software Developer for more than 4 years now and if there’s one thing that never changes about this job it’s that it is always changing. There are always new things to learn. I love that part of it. Learning is the destination.

So, when I saw a course called Learning How to Learn on Coursera, I jumped on the chance to learn about learning from academic experts — Dr. Barbara Oakley and Dr. Terrence Sejnowski from University of California, San Diego.

Here are the key takeaways from the course that help me be a better developer and, in general, a better learner.

“Focused” and “Diffused” Modes

When learning, there are times in which you are focused and times in which you allow your mind to wander. This unfocused, or diffused, mode is just as valuable as the focused mode in allowing your brain to LEARN something. So — take breaks, meditate, think about other things, and give yourself plenty of time in both modes.

One way of making sure you’re taking regular breaks is to follow the Pomodoro technique. This is where you program for 25 minutes, then take a break for 5 minutes. The work and break time lengths can vary based on what works best for you. The important part is that you have a regular break. There are several applications out there that help you setup a Pomodoro timer. I use Pomodoro Time.


Mastered chunks form a whole puzzle (left) vs. learned but not mastered chunks don’t fit into a larger puzzle (right)

Dr. Oakley suggested a great step-by-step process to approach learning something. First, survey and priming — this involves scanning a book or the syllabus of a course, for example, to get a general idea of the bigger picture. Second, observe an example. Then, do it yourself. And, finally, do it again and again in different contexts.

So — let’s say I was trying to learn React and I was lucky enough to find Tyler McGinnis’s awesome React.js Program course. To apply this suggested process, I would first look over all the units in the course to try to get a general gist of the topics covered. Then, I would follow along closely as Tyler builds an example application. After that, I would build my own application. And finally, I’d apply those learnings into the new features we are developing in React at my job.

Beware of Illusions of Competence

There are many ways in which we can make ourselves feel like we have “learned a concept. For example, looking at a solution and thinking that you know how to arrive at that solution is one of the most common illusions of competence in learning. Highlighting or underlining are also techniques that often lead to this illusion of learning. On the other hand, brief notes that summarize keys concepts are much more effective.

Recently, I found this great application called Highly (you should use this!). They make it really simple to highlight any article that I’m reading on the web using a Chrome extension. When I’m done reading and highlighting an article, it provides a beautiful summary of everything I highlighted. This is immensely useful to me.

I try to be sparing in what I highlight. The fewer takeaways, the more likely that I’ll actually take it away. This ties well into the next point…


Dr. Oakley points to Dr. Jeff Karpicke’s research about retrieval practice to provide scientific support behind taking a couple minutes to summarize or recall material you are trying to learn. It goes a long way to taking something from short-term memory to long-term learning. Even recalling material in different physical environments can help you grasp the material independent of any physical cues that your brain may have.

So — after you finish reading this article (or any article), take a moment and try to state what you remember from the article. It’ll go a long away.

Bite-Sized Testing

It’s not important that you pass these tests without making any mistakes. Mistakes (and correcting those mistakes) are an important step towards solidifying your learning.


After a long learning session…

The main takeaway on this point is not to spend too much time in one sitting going over the same material over and over again. The law of diminishing returns certainly applies. Spread it out over many sessions and over many different modes of learning.

I have been trying to set aside 30–60 minutes every day for each new thing I am trying to learn or learn in more depth. Not only has this been better in resulting in lasting learning, but I also find it way more achievable to say that I am going to work on X for 30 minutes.


I haven’t deliberately applied this technique yet but, going back to the earlier example of learning React, I can apply the interleaving technique by having 2 different projects in which I am applying React and Flux architecture.

Process over Product

Metaphors and Analogies

Metaphors and analogies are often talked about as helpful study techniques. Personally, I never made much use of them. But, as I’ve met more people and more teachers/mentors, I’ve found that the best ones always use these as they communicate. And being able to communicate what you’ve learned is one of the main skills that differentiates a good developer from a great one (IMHO).

So, try to make a deliberate effort to teach what you learn to someone else and, in doing so, you will likely be forced to explain concepts with relatable metaphors and analogies.

There are several opportunities in the daily practice of software development to teach and learn from others. You can pair program, comment on pull requests, sign up to give a code talk about a particular topic, and blog! Do all of these things. I know I’m trying to.

Study Groups / Teamwork

At work, I’m lucky to have plenty of internal groups: tech book club (currently reading Pragmatic Programmer), open source club, culture club, elixir group, and likely others too. But there are several awesome communities that meet and learn together in NYC and online!

No matter what or where you are learning, you don’t have to learn alone. In fact, it is the uniqueness of the people with which you learn and the discussions you have together that make what you learn unforgettable.

Click the ❤ below so other people will see this here on Medium.

Learn. Love. Code.

Insights on education and tech from Flatiron School’s passionate community of coders and creators. https://www.flatironschool.com

Abhishek Pillai

Written by

Tech Lead at TeachersPayTeachers (We're hiring! https://www.teacherspayteachers.com/Careers). Formerly at @learn_co and @Groupon. Always Learning.

Learn. Love. Code.

Insights on education and tech from Flatiron School’s passionate community of coders and creators. https://www.flatironschool.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade