Mmmm, chunky!
The more chunks we have acquired, so to speak, the more of an "expert" we are.There’s a good chance you’ve heard of “chunking”. It’s started to enter the pop-psychology space. And it’s been the topic of close scrutiny in the area of chess.
Put simply, “Chunking … is a process by which individual pieces of information are bound together into a meaningful whole.” (source)
Chunking is what allows expert chess players to see a half-completed chess game for the first time, and nearly immediately recognize what’s going on, and choose an ideal move quickly.
As an illustrative example:
A castled king position with the knight developed in the f3 square can be represented as the set {Rf1, Kg1, Nf3, Pf2, Pg2, Ph2}, which represents one chess chunk. That is now 6 pieces that any moderate chess player can remember.
This pattern is not just a random placement of pieces. It has special meaning to an educated chess player.
Chunking is also what allows an expert auto mechanic to hear a sound coming from under your hood, and make a reasonably accurate guess as to what’s going on, before they start dismantling things. They recognize that specific sound as being related to a specific problem, or set of problems.
We chunk when we code as well. We talk a lot about software design patterns, which is just one example of relevant chunks. We also have other chunks, such as the way a for loop is constructed, or the way a try/catch statement works in your particular language.
Chunks serve as shortcuts for thinking in the moment. Once you know how a for loop operates, you don’t need to painstakingly disect every for loop you encounter in code. Your brain is quite capable of just processing each loop as a chunk.
The more chunks we have acquired, so to speak, the more of an “expert” we are, broadly speaking.