I’ve previously written about the excellent ‘Make it Stick’ and it was well overdue another read. I focused on the practical case studies that were included towards the book.

The book intentionally leaves any case studies towards the end as they want the reader to go on the journey themselves and then find what might work for them. However we’re often time poor in the software development world, I thought I’d distill some meaning and context from this last chapter.

I have a training course of my own coming up through work, and I want to maximise what I can get out of it. So what better place to look than a book specialising in just that? I’ll include any techniques from the book that I plan to use.

If you’re really interested, you can buy the book – usual affiliate disclaimer applies – I make a little cash from it from (really not much with Amazon) but it helps me keep the site running.

Here’s what we’ll cover.

ContentWhy it’s important
Practice Retrieving New LearningQuizzing yourself forces your brain to make new connections and strengthens your memory.
InterleavingYou want to improve your ability to decipher information and to see relationships between concepts.
Spaced RepetitionYou don’t go to the gym and try and bench 100KG from the start. It’s no different with learning.
ElaborationImprove your mastery of concepts by adding new ways of recalling it.
GenerationTry and solve some questions before being shown the answer.
ReflectionStop for a second when you’ve finished your study. Let it settle in. Let that pay dividends next time.

Practice Retrieving New Learning from Memory

The book cites various case studies where learners have either aced their work, or changed a study system that wasn’t working for them. The difference has been stopping, analysing the content and rephrasing it into a form for recall.

It’s really a case of slow down to speed up. Any time that you lose now you’ll easily regain with not having to re-read content you’ve forgotten.

Anyone who was followed my AWS certification will know that I use flashcards to test myself using active methods. But flashcards are only as good as what you put in to them.

If it isn’t hurting, it isn’t working

Ok that’s a tad dramatic. But if you’ve ever played sport and had someone correct your technique, how awkward has that felt? Getting rid of bad but familiar habits that weren’t working feels hard.

This quote from the book resonates with what I’ve discovered on this path.

If learning is difficult, it’s a sign of effort not failure.

Peter C. Brown, Henry L. Roediger III, and Mark A. McDaniel 

But with learning actively, every failure you have is actually building the memories a bit more. You build new connections to information when you review it. You just don’t get that from skimming the pages.

How to set up your content

So how do we get good quality content into our flashcards? One case study from Make it Stick recommend that as you skim the materials ask yourself:

What ideas are new to me?

How do I *define* new terms and ideas

How do ideas connect to what I *already* know?

It was a relief to see I was already doing some of this. Using an example of my AWS training material, my initial S3 cards are defining new ideas and terms – getting the brain ‘primed’ if you will. Invariably my first flashcard set on a subject will be an Overview set anyway.

And later sets build on those concepts, as per “connecting to what I already know”.

In the case of the AWS official docs – there aren’t the quiz sheets that you get with some classroom teaching/text book reading. So I have created my own (and checked the correctness later of course!) to force my brain into action.

If you are lucky enough to have quiz questions with your material great, you can choose whether to test make the investment of flashcards for those questions (i.e. using spaced repetition). It’s up to you.

But you definitely want to complete them at least once to ensure you understand the content. You’ll have a much harder time recalling content if you can’t even understand it.


Simply put, we’re all tempted to nail one thing and then move on. Indeed in terms of our work, we’re often just told to ‘focus on one thing’, and then move on.

Except this isn’t efficient with learning, apparently. In the book the example given is one of calculation of volume of a spheroid followed by a cone. In essence, we should get the rudiments of the spheroid example, then move onto the cone, then back to harder examples of the spheroid (or perhaps another shape).

The point is that by switching between these types you’re not doing a one-dimensional, rote following of problem solving. Again you’re forcing your brain into understanding patterns and applications, comparing and contrasting as early as possible.

I’ve actually written my AWS Study Plan with this partially in mind. for example, rather than learning all of IAM at once, one week is understand the rudiments of it. Following weeks moves into to technology that uses it. Later we move back to more advanced concepts.

A non-software example was given in the book, baseball players who practice with a mixture of 15 fastballs and then 15 curveballs and 15 changeups was far better prepared for an actual game because he can decipher the individual cues by getting exposure to the different types of delivery.

Spaced Repetition

I’ve written about spaced repetition in terms of flashcards when I setting my AWS Study Plan. I set a schedule to review my flashcards so I could top-up my memory of AWS Concepts.

Spaced repetition can apply to simple notes as well as flashcards. But the idea is the same – space out your learning to prevent forgetting, and update/review your content with additional/corrected information when you do it.

This video contains an easy to follow explanation as well:


For me, this goes hand in hand with spaced repetition. If you top up your memory of something periodically, the world has moved on since you last learned it, and you might have new contexts, info to add on top of it, or both.

Those of you familiar with Enterprise Integration patterns, think of it a little like an enricher pattern.

In the software world, a basic message comes in, the enricher knows where to look for additional info, retrieves it, and a more rich structure is the result.

But it gets even better with elaboration and spaced repetition. Because next time we elaborate, the enriched message that we just created becomes the basic message we start with. We’ve set the bar a little higher each time.

The enricher pattern provides a metaphor for the process of elaboration

In the example of my AWS training, I might do some training on say DynamoDB, and server side encryption (SSE) comes up in the documentation.

Because I’ve already learned about IAM (hint: because it comes earlier in the study plan), I have IAM information in my ‘basic message’. The next time, I read about SSE (for example in KMS), my ‘basic message’ contains info about DynamoDB and IAM information.

In one case study, biology professor Mary Pat Wenderoth encourages elaboration by getting students to create large summary sheets. She gets them to illustrate the different systems they studied during the week (spaced repetition) and then highlight the connections between each-other (elaboration).

I’ve tried a similar principle to build information using mind maps if you’d like to read about that.


This one got big! I wrote in a separate article because I had some practical tips for an upcoming course. Essentially the idea is that you try and solve questions without being taught the process first, using what you already know.

From the book:

On a small level, the act of filling in a missing word in a text (supplying it yourself rather than relying on the writer) results in better learning and memory of the text rather than simply reading a complete text.

Peter C. Brown, Henry L. Roediger III, and Mark A. McDaniel 

This sort of technique is great for us software developers because we’re already familiar with this when we troubleshoot.

We try and find answers by dividing and conquering (does a simple cURL work? Is there a problem retrieving the data? Can I hit something behind a load balancer?)

So we can take the same technique of ‘learning by doing’ and apply it to our studies. I’m doing this with an upcoming course.

This way, you’re “in the game early” and more committed. When you do get the material from your teacher/resources you’re both primed and have contexts ready to apply to it.


If you’re on this website, chances are you’re looking for some pointers on improvement and how to get a little better each time. The case studies in the book talk about how people want to get a little better each time and they range from the Police, American Football Teams and even the Pilot Sully!

In terms of our learning, slow down to speed up.

Take a minute before you finish to consider the following points before you close the book/browser window:

  • What did I just learn?
  • How does it relate to what I already know?
  • What could I improve for next time about the way I learned?
  • How could I connect what I learned to a non-software example?
  • Are there any next actions for me as a result of what I just learned?

If you take the time to have your next actions ready in whatever productivity/organisation system you have, that ‘flow’ of learning will be improved the next time you come to study.


If you made it all the way done here, then thanks! I hope you found useful info here. If you liked it, or there’s anything I haven’t covered, please feel free to contact me. Always happy to help where I can.

Finally if you would like to buy the book, it would be great of you could use my affiliate link. It’s no extra cost to you, but it helps me keep the site running.

By James