How does learning occur in our brains? Neil Brown, Felienne Hermans, and Lauren Margulieux explore this question in a 2024 article, “10 Things Software Developers Should Learn about Learning.” Their “Key Insights” are the following:
Learning is vital for programmers, but the human mind works quite differently than a computer.
Understanding how humans learn can help you learn more effectively.
The Internet and LLMs have not made learning obsolete; learning is essential and takes time.
Expertise changes how you think, letting you solve problems more easily but also potentially hindering your ability to teach.
Then they list and explain their “10 Things.” In this post, I’ll highlight a few of those things and share some thoughts.
Intrinsic vs. extraneous load
Learning places demand, also known as cognitive load, on our working memories. There are two types of cognitive load: intrinsic load is the information inherently necessary to whatever’s being learned, while extraneous load is everything else. Beginners often cannot distinguish between the two types of load, which makes it harder for them to learn.
For example, suppose a developer is trying to create a database, and they need to learn the database schema. The schema can be described using a diagram, with rows and columns, or as a paragraph (see the figure below). For most people, the diagram is likely easier to process because both the format of a paragraph (i.e., a block of text) and its non-essential content (e.g., punctuation, capitalization) increase extraneous load.
This example reminds me of the difference between pseudocode and executable code: conceptually, pseudocode and executable code convey the same ideas, but the latter often contains more visual elements and distracting details. (For more about this, see this post.)
Experts recognize
Memorization is often viewed as a poor method of learning (e.g., “Don’t just memorize — try to understand!”), but the authors point out that experts have memorized a lot of things, and this “frees up their cognition” when reasoning about new problems. For example, “[a]n expert may immediately recognize that a particular piece of code is carrying out a sorting algorithm, while a beginner might read line by line to try to understand the workings of the code without recognizing the bigger picture.” I think this is particularly clear in sports: when most NBA players shoot the ball, I doubt they’re thinking about “BEEF” (balance, elbow in, eyes on target, follow through) — proper shooting form is deeply stored in their muscle memory.
Experts typically don’t sit down and deliberately try to memorize things. Instead, they accumulate knowledge in their long-term memory through experience. For beginners, this points to a way of improving at, say, recognizing code: simply read and understand a lot of it. An analogy here is machine learning: modern algorithms require vast amounts of training data.
Finally, even though the Internet is huge and AI tools keep improving, the authors argue that memorizing is still important because it allows us to quickly access information while minimizing the cost of context switching. For example, it’s hard for anyone to write complex software if they constantly need to look up syntax.
Spaced practice vs. cramming
According to the authors, the spacing effect is “one of the most predictable and persistent effects in cognitive psychology.” It states that for long-term learning, cramming is less effective than spacing practice sessions across multiple sessions (ideally over the span of weeks). Whenever a learner solves a problem, they match the problem to a corresponding concept in their long-term memory. By keeping this neural connection active over a longer time horizon, learners improve at selecting the correct concept when solving new problems.
But, like muscles, our brains require rest — they need time to develop and consolidate new information. In fact, the authors recommend keeping learning bouts to 90 minutes or less and resting for at least 20 minutes after each bout. They emphasize that “rest” means walking or sitting quietly; they don’t consider chatting, working on other tasks, or browsing the Internet as rest.
Spatial skills seem to transfer
For the most part, there’s no generic “problem-solving” skill that generalizes across disciplines. For example, when a child receives chess or music instruction, their other cognitive skills rarely improve. However, spatial skills (e.g., rotating a Tetris shape in one’s mind) seem to be an exception: according to the authors, “spatial training improves performance on a range of non-verbal skills regardless of initial ability, age, or type of training task.” They note that “[t]his phenomenon is so unusual that it has caused much consternation in cognitive and learning sciences.” But spatial reasoning is not a magic bullet or perfect predictor of success in programming: the authors claim that “these weak-to-moderate correlations largely disappear with increased experience for various reasons.”
Here’s a 2020 paper by Jack Parkinson and Quintin Cutts that suggests that training spatial skills improves outcomes on computing assessments. It also provides an example of a spatial reasoning problem; see the figure below.
Experts are not necessarily the best teachers
Experts sometimes experience a blind-spot problem, in which they fail to see the difficulty of a task because their knowledge has become so automated. Moreover, they might be unable to articulate their reasoning and resort to phrases like, “I just know.” To address these situations, the authors suggest that “a knowledgeable (but still relatively novice) peer” (e.g., a teaching assistant, perhaps) can help “bridge the gap between beginners and experts.”
I think another remedy for the blind-spot problem is having the teacher recall the feeling of being stumped or confused. Many professors likely encounter this in their research, but perhaps pursuing an unrelated endeavor (e.g., shooting a basketball) would be even more effective since that likely matches the students’ experience more closely. Feeling stumped can be demoralizing, but if the professor can relate, perhaps they can help the student learn more effectively.