Amy M Haddad

Learn to Program Better with The Weekly Spot Drill

By: Amy M Haddad


Most of us have fallen into this trap. We’re so focused on learning a topic or honing a skill that we don’t touch previously learned information for weeks or months.

Web development is a classic example. There are many technologies and topics to learn, and most of us learn them sequentially. You focus on CSS for a while, then put it on hold to learn the intricacies of React. Or take problem-solving. You focus exclusively on problems that involve arrays. Then strings. Then hash tables.

There’s a problem with this approach. Soon comes the day when we need to apply knowledge that we learned a few weeks ago. And we can’t, at least not easily. We’ve forgotten what we’ve learned. We’ve lost our edge.

It doesn’t have to be this way. In part, the solution involves using Anki flashcards on a daily basis. It’s a topic I’ve written about before, and it’s a great way to keep information fresh and top of mind.

The other part of the solution is what I call the “weekly spot drill.” Once per week, work on a project or problem related to something you previously learned—and unrelated to what you’re currently learning about or working on.

If you’re learning JavaScript right now, solve a problem in Python. If you’re solving tons of problems that involve arrays, pick one that involves strings.

The weekly spot drill will keep your skills sharp—ensure that you’re ready, not rusty—and deepen your knowledge. That's because you'll uncover another layer each time you revisit a topic. Plus, this practice will teach you to pivot: to use the best tool to solve the problem, not necessarily the one you’re currently focused on.

An example from the game of baseball drives home the point.

A Lesson from Baseball

In the excellent book, Make It Stick: The Science of Successful Learning, the authors explain a study involving the California Polytechnic State University baseball team and different methods used to improve their batting skills.

Some team members practiced the “standard” way. They hit three sets of pitches; each set consisted of fifteen pitches of the same pitch type. For instance, a batter would hit one set of fifteen fastballs; a second set of fifteen curveballs; and a third set of fifteen changeups. Learning for this group “seemed easy,” the book notes.

The remaining team members did something different, however. They, too, hit a total of 45 pitches. But the pitch types were random. “For each pitch,” the book explains, “the batter had no idea which type to expect.” The athletes felt the difference: “the interleaving and spacing of different pitches made learning more arduous and feel slower.”

By the end of the experiment both groups improved—but not evenly. According to the book, the group that experienced the “randomly interspersed pitches now displayed markedly better hitting” compared to those who practiced the same pitch type repeatedly.

“We’re easily seduced into believing that learning is better when it’s easier,” the authors of Make it Stick argue, “but the research shows the opposite: when the mind has to work, learning sticks better.”

From Baseball to Programming

For me, there are two key takeaways from this experiment: space out your practice and mix it up. You’ll find both of these attributes in the weekly spot drill.

It’s one thing to solve a problem that involves arrays when you’re solving tons of problems that involve arrays. Arrays are top of mind, familiar, and easy to recall.

But it’s another to put arrays on hold for a moment and pivot. Pick a problem that uses a hash table. Then, come back to arrays. Solve a problem or two, and switch again. This time plow through a problem that involves strings. You get the idea: space out your practice over time and mix it up.

The benefits are many.

  • Keep your skills sharp. There’s nothing worse than spending a ton of time learning and practicing a skill only to have to do it all over again a few months down the road.
  • Deepen your knowledge. You’ll see things differently—and more clearly—after some time has passed. When you circle back around for a second, third, or fourth time, you’ll gain a better understanding or find an overlooked nuance.
  • Feel a boost in your confidence. You’ll see the progress that you’ve made. What was once really hard is now a bit easier.

Let’s see how you can incorporate the weekly spot drill into your routine.

The Weekly Spot Drill in Practice

The weekly spot drill incorporates some of the same principles from the baseball experiment, but catered toward programming. Here’s what the weekly spot drill looks like in practice.

Pick Your Drill

First, identify what you’ll build or solve on your spot drill day.

I’ve been focusing the past few days on problems that involve graphs. So for my spot drill I selected a problem that involves strings. This string problem is decidedly different than the graph problems I’ve been working on. Besides, it’s been awhile since I’ve completed such a problem and could use a bit more practice with strings.

In short, the weekly spot drill is a planned practice. Intentionally choose a problem or program that:

  • is different than your current area of focus,
  • you could use some practice with, and
  • you haven’t worked on recently.

There are so many topics to keep straight and skills to apply with programming that it’s important to give some thought in advance to ensure you regularly hit important topics and skills.

The weekly spot drill lacks the randomness that the second group of batters experienced in the study covered in Make It Stick. However, randomness does matter.

That’s why I also rely on Anki, as mentioned at the start of the post. Anki uses spaced repetition, which is a learning technique where you repeatedly review a topic over time. Although there’s logic behind the order the cards appear, to me they appear random.

Pick a Day

Set aside a block of time each week and designate it as your spot drill day. For me, it’s Wednesdays. This is the second step—and it’s important.

Picking the same time and day each week has been the best way to make this practice a reality. Otherwise, the spot drill gets pushed aside because of the mounting pressure to “learn this” or “build that.”

Don’t let this happen. You’ll regret it down the road when you have to recall previously learned knowledge. Even though I review my Anki flashcards daily, there’s nothing like sinking my teeth into a project or problem for a few hours.

So pick a day in advance and note it on your calendar. That way, when your spot drill day rolls around the decision has already been made: it’s a spot drill day, no excuses.

The weekly spot drill is kind of like exercise. I’ve never regretted a workout. But I’ve always regretted when I missed one. Likewise, you may not want to complete a spot drill in the moment at the expense of doing something new. But you’ll always be grateful that you did.

← back to all posts