The Importance of Cheat Sheets

Posted by Richard-Burd on August 14, 2020

Here’s a cheat sheet I’m using to learn TypeScript: a typescript cheat sheet I’ve been redacting this project here so as to slowly convert the whole thing from being written dynamically in JavaScript, to being statically typed in TypeScript.  Each time I return to it I’ve forgotten all of the TypeScript syntax I’ve ever learned, and even as I’m writing this, I would fail even the most basic TypeScript coding interview. 

None of that really matters because I have a cheat sheet; after an hour or so, I can regain all of my TypeScript knowledge as if I were using it almost daily.  This is the power of sheat sheets.

Our neural pathways are not set up to remember lots of asinine details that are all disjointed from each other.  Instead, we’re optimized to remember lots of little things that are somehow easily relatable to the bigger things that are somehow relevant to those original little(er) things in a way that makes us not forget them.  When the little things get too numerous to count, and when they’re not essential to even understanding how the bigger things work anymore, we need some help.  This is why pilots have checklists and drivers use maps; we need something visual.

What is the point of me (or you) studying some new programming language or framework unless we’re going to start using it regularly?  You know you’re just going to forget stuff so why bother at all…right?  The answer I’ve found to be true is this: There are two objectives to learning a new technology of any kind and they are:

  1. Understand the big ideas because you won’t forget them so easily.

  2. Make a cheatsheet that not only reinforces the big ideas, but then also goes on to elucidate all of the various details you do not want to store in your limited memory for any serious amount of time.

This turns the process of learning a new technology into a system rather than a goal.  This is a net win because systems are better than goals.