Encoding Physical Memory

Ben Stein
2 min readNov 10, 2020

Disclaimer: Personal experience piece, no actual research on how the human brain encodes memory was conducted.

When a musician improvises, they don’t have time to think “Well, we’re in C minor, maybe this…” or time to contemplate what fingers to put on which strings or keys. By the time that thought has happened the song has moved on. The notes need to flow from a backlog of practice, muscle memory, and intuition, so that the more complex and impressive shows of skill and artistry make themselves seen.

Even between famous musicians you’ll often find certain phrases they use all the time, transposed into different keys, time signatures, and situations. Like a macro, you might say.

When a soccer player shoots on goal, when a gymnast does a full, when you drive your car to work: all of the knowledge used in doing these tasks is built into us through physical repetition.

Like how a computer will store critical operating system tasks and other frequently used processes in particular memory banks, so to do people.

Similar to this, in my mind, is the practice of hand writing code. Like handwriting notes, or if a teacher forced you to write some sentence ad-infinitum on the chalkboard, the act of physically writing something down helps you remember it (in the latter example whether you’d like to or not).

In an effort to be efficient and effective in your work, you want both the easy the routine tasks to be, well, routine.

Fifteen minutes spent staring at a method that you wrote an identical one to just yesterday is fifteen minutes wasted. When planning your code, and studying previous code, rewriting the text down by hand can help in both speed in recall and retention of knowledge.

Similar to the macros present in Ruby and other languages (attribute accessors, the has_many/belong_to from ActiveRecord, and pretty much all of ActiveRecord actually), committing the knowledge of certain common actions to memory will make them like macros themselves to you.

Repetition is the key to mastery, and personally I find the fastest way to truly memorize something is to write it down. The faster and faster you are able to dial in the routine steps, the steps you’ll need to start most (if not every) program you’ll write or fix on the job, the less time you’ll spend looking like this:

Procedural memory is the scientific name for this, and is created through ‘procedural learning’: repeating a complex activity over and over again until everything involved in it can run outside of your working memory, leaving your mind free to tackle more unique and challenging problems.

The value in having common coding principles ‘macro’d’ outside of your working memory will lead to more efficient work, and more impressive performance on the job.

--

--