Over and Over and Over Again: The Value of Repetition to Your Teaching (and Learning)

By Jacob Lamont

Pop quiz: What do Edge of TomorrowGroundhog Day, and Dr. Strange have in common?

They’re all movies you say? Yes, that’s true. Good job.
But, more importantly, all three demonstrate the power of repetition.

Pop quiz: What do Edge of TomorrowGroundhog Day, and Dr. Strange have in common?

They’re all movies you say? Yes, that’s… Wait a minute.

We have all heard time and again how important repetition is to learning a skill; the cliches abound. But just because they’re cliches, doesn’t mean they’re not true. If you want to get good at something, you have to practice (accurately) over and over—and over again. Early on in learning to program, this repetition may take the form of code drills in order to focus on syntax (e.g., “Write a function that takes two parameters and returns the sum. Now do the same thing but return the product. Now do the same thing, but…”)

As you progress in your programming skills, syntactic drilling becomes less important. Deeper understanding of mechanics, patterns, and paradigms becomes the primary focus. Repetition with these concepts is equally helpful to mastery, but it can be challenging to create opportunities to repeat them—especially on the job. No matter how good a company is at investing in their developers’ continued growth, at the end of the day, specific problems need to be solved, and they may not always overlap with each other. Having worked on smaller teams, I loved being required to work on all points of our systems: one day working on optimizing SQL queries, the next day writing some UI; one day tweaking Node processes for a Raspberry Pi, the next configuring EC2 instances. I could become frustrated, however, having to move on from a problem so quickly after solving it. How did I do that again? Why did that work? Oh well, on to the next problem!

Teaching eliminates that frustration; it changes what can seem like the assembly-line speed of business. With teaching, each new class provides an opportunity to revisit your understanding of each concept taught. Now some may think this a Sisyphean fate. You mean the same topics—each time? But the reality of teaching, far from the torturous Greek myth, is much more analogous to the movies I listed above. In all of them, the heroes of the stories gain ground. They don’t merely repeat, they iterate. Bill Murray finds true love. Tom Cruise and Emily Blunt destroy their alien tormentors. Benedict Cumberbatch saves the earth from being absorbed into Dormammu’s Dark Dimension.

As an instructor, I find that each class—and every student—provides an opportunity to both deepen and broaden my understanding. Better than raw repetition, teaching provides the human factor: students that ask you questions from a perspective you would never otherwise have (e.g., “I understand that xyz is what happens, but why does that happen? Why does it happen that way, instead of this way?”) These types of questions—and the repetition of teaching—allow you to look at a concept as though it were a crystal. You get to study and observe each facet of its intricate lattice.

This magnificent process will sometimes lead to major leaps in your understanding. Other times it will help connect dots that were formerly disconnected. Still other times it will make concepts more transparent, such that you can see the underlying current of thought. It’s a truly exciting experience!

No matter where you are in your career, you can seize upon this incredible learning opportunity now. Maybe you can mentor a developer at your company, become a regular at a local meet-up, teach an after-school program, or become an instructor for a coding boot camp. No matter the outlet, patiently bear with all the questions, and embrace the repetition. Both you and your mentees will be thrilled that you did!