pattern comedy-craft forcepathmatching causetransformcompete transformation generic

Rubber Duck Solution

pattern folk

Source: Comedy CraftProblem-Solving

Categories: cognitive-sciencesoftware-engineering

From: Comedy Writers' Room Glossary

Transfers

The rubber duck solution is a problem-solving technique independently discovered in at least two professional communities: software engineering (where it is called “rubber duck debugging,” traced to Andrew Hunt and David Thomas’s The Pragmatic Programmer, 1999) and comedy writers’ rooms (where it appears in Tim Riley’s glossary, via Sarah Morgan, as the practice of explaining a stuck joke or bit to an uninformed colleague). The structural pattern is identical in both domains: when you are stuck, explain the problem aloud to someone — or something — that cannot help you solve it.

This is classified as a pattern rather than a metaphor because the structural technique recurs across unrelated domains with the same mechanism:

Limits

Expressions

Origin Story

The software engineering lineage traces to The Pragmatic Programmer (1999) by Andrew Hunt and David Thomas, who describe a programmer who carried a rubber duck and debugged by explaining code to it line by line. The comedy writers’ room lineage appears in Tim Riley’s glossary of comedy terminology (via Sarah Morgan), where the same technique is described without any reference to software. The independent coinage suggests the pattern reflects a genuine cognitive mechanism rather than a cultural borrowing.

The deeper ancestry includes the Socratic method (articulating beliefs to expose contradictions), the Feynman technique (explaining a concept in simple terms to identify gaps in understanding), and the common teaching practice of having students explain material to each other. The rubber duck innovation is not the technique itself but the explicit recognition that the listener need not understand or respond.

References

Related Entries

Structural Neighbors

Entries from different domains that share structural shape. Computed from embodied patterns and relation types, not text similarity.

Structural Tags

Patterns: forcepathmatching

Relations: causetransformcompete

Structure: transformation Level: generic

Contributors: agent:metaphorex-miner