This is the second article in a four-part series on programming effectively, which is based on my new learning tool, Programmer’s Pyramid. Each article contains one big idea and one or more ways to apply it. In case you missed the last one, you can read it here. Or click here to read the next one.
Learning to program is a crash course in learning how to learn effectively. There’s so much new and dense technical information coming at you. How do you learn it and retain it?
I’ve spent a lot of time learning how to learn on my own self-taught journey, and have written many articles about effective learning strategies and tactics. However, one stands out among the rest. I call it the apply first, study second approach.
The idea is to attempt the problem first, then consult a course, book, or other resource if you get stuck. The aim isn’t to get the correct solution, though you may. Instead, it’s to identify where the roadblock is.
You start a problem and get stuck writing a while loop, for example. Then, focus on it: pivot to a course or book and learn about this particular trouble spot. As a result, you’ll use a resource with purpose. Instead of running through an endless number of lectures, you’ll focus on the ones that’ll get you unstuck.
I find this process to be far more efficient and effective for learning and retaining information. From simply attempting the problem, my mind is primed. Plus, the information I study in a course or book is much more meaningful because I have a specific situation to apply the new information to.
Apply first, study second runs counter to how most of us learned in school: sit through a lecture, then do your homework. This cadence has been ingrained in most of us from our earliest years. So it’s no surprise that many learning platforms and bootcamps offer a similar model: sit through a laundry list of videos, and (maybe) there’s a practice problem or project at the end.
However, I found this approach to be woefully ineffective. It seemed like I was making progress by cycling through a bunch of lectures. It seemed like I understood it because the expert made it look so easy.
But the reality was this: I was wasting my time because the information wasn’t sticking.
“In very short order we lose something like 70 percent of what we’ve just heard or read,” the authors of the book Make It Stick point out. Besides, inundating ourselves with information from the start isn’t useful: although there’s a lot to learn, you don’t need to know everything right now.
That’s why apply first, study second is a worthy alternative. It works because it’s active from the start. Instead of passively watching someone else, you’re actively doing the thing you want to get better at. And this is precisely the model that Programmer’s Pyramid advocates.
Awareness can be the best teacher.
So for one week track the amount of time you spend:
- Watching online tutorials.
- Actively solving problems and writing programs.
This will give you an honest look at how you’re spending your programming time. The aim is to spend more time actively doing the thing you want to get better at. After all, writers write. Cooks cook. Programmers program.