Saw this video earlier. Immediately thought, “this is such a good example to use when I want to talk about externalisation“.
Yes, externalisation is such a boring technical term. Conveniently, computer people calls it: “rubber ducking”. // leaving a meta-trace here to talk about an underrated magic that human has access to: creating a shared language to encode a concept
Evident from the comment sections, we all know the value of externalisation of thoughts. We’d get unblocked. We’d get ideas, insights, and solutions when talking/writing things through. It helps us make sense of things. This is something we just knew.
I’ve done it many times and can confirm that this method works. But I never bothered finding out WHY it works.
I tried asking GPT-4o and the answer makes sense, so here you go:
Prompt
what’s the psychology of rubber ducking
Response
The psychology of rubber ducking refers to a problem-solving technique often used by programmers and others engaged in complex tasks. It involves explaining a problem or a piece of code out loud, often to an inanimate object such as a rubber duck, in order to clarify one’s own understanding and uncover solutions. Here’s how it works and the psychology behind it:
- Articulation of Thoughts: When you explain a problem out loud, you are forced to organize your thoughts coherently. This process of articulation helps in identifying gaps in understanding, errors, or overlooked details. The act of verbalizing thoughts can make implicit knowledge explicit.
- Externalization of Problems: By speaking out the problem, you externalize it, making it easier to see the issue from a different perspective. This shift in perspective can lead to new insights and solutions that were not apparent before.
-
Cognitive Load Management: Explaining the problem out loud can help reduce cognitive load. It transfers some of the mental burden involved in holding and manipulating complex information from your mind to your verbal output. This can make complex problems more manageable.
-
Metacognition: Rubber ducking encourages metacognition, which is the process of thinking about your own thinking. This self-reflective practice can enhance problem-solving skills by making you more aware of your cognitive processes and strategies.
-
Feedback Mechanism: Even though the rubber duck cannot provide feedback, the act of anticipating possible questions or objections from the “listener” can prompt you to think more critically and thoroughly about your problem. This simulated feedback loop can be surprisingly effective.
-
Reduction of Anxiety: Speaking to an inanimate object can reduce the pressure and anxiety associated with problem-solving, especially in high-stakes situations. This relaxed state can foster creative thinking and better problem-solving.
Practical Steps for Rubber Ducking:
- Describe the Problem: Start by explaining the problem in detail to the rubber duck. Cover every aspect as if you were explaining it to a complete novice.
-
Break Down the Steps: Go through the steps you have taken so far, explaining your logic and reasoning behind each one.
-
Identify Gaps: As you explain, take note of any parts that seem unclear or where you stumble. These are likely areas where the problem lies.
-
Formulate Questions: Think of potential questions the duck might “ask”. Answering these can lead to new insights.
-
Refine Your Approach: Based on your explanation, refine your understanding and approach to the problem.
While the concept might seem whimsical, rubber ducking is rooted in solid psychological principles that aid in problem-solving and cognitive clarity.
Here’s another take on rubber ducking by a blogger, Jay Kim:
Psychologically speaking, rubber ducking is effective for primarily two reasons:
- Most of us think much faster than we talk- even more so when we find ourselves in the “zone,” quite suddenly capable of power-typing wondrous code from our beautiful mind as if we’re the late legend John Nash himself. So when we find ourselves in the flip-side of the “zone”- let’s call it “coding purgatory”- verbally talking through the logic in our code forces us to slow our thoughts down to an exact, step-by-excruciating-step pace.
- Cognitively, we are starting from a place in which we realize that the duck does not know more about the code or problem than we do. This compels us to explain each step in a way that would help the duck- not us- understand the problem; thus, a neurological “shift” takes place that I think is frankly quite cool. It’s not unlike the cognitive benefit one gets by teaching someone who knows less about a problem than they do. One receives a much deeper understanding of the problem by breaking it down and explaining it in concise, exacting non-technical terms.
I suppose I’d understand these better if I tried to hypothesise about the reasons myself, but I don’t have any immediate need for that. So getting some starting ideas from LLMs is fine for purpose.
I just saw someone on my Facebook timeline proudly shared about how he “made a ruckus” on some online scientific forum because he challenged the…
I just saw someone on my Facebook timeline proudly shared about how he “made a ruckus” on some online scientific forum because he challenged the…