“While pacing in my living room, I try to find solutions to my problems, and while explaining my problems to the rubber duck, it spits back the solutions at me.”
In the realm of software development, engineers tend to get stuck at almost every step of building or testing something. Most of the blockers can be easily hooped through but some stubborn blockers become so difficult to solve or get through that there remains no choice but to implicitly or explicitly use a technique like the “rubber duck debugging” technique. The method is based on a meta-skill that everyone has and that is when a person is forced to articulate a thought process by writing or speaking, even at a sub-optimal level, the thought transforms into a potential solution to a problem. For instance, a software developer will try to explain a thought process around solving a problem, that requires someone to salvage their existing knowledge and to come up with a solution, to the rubber duck (metaphorically or literally) expecting to see thoughts crystalize into well-ordered sentences.
The concept of this technique stems from the fact that when our minds are racing with thoughts we usually give ourselves minor excuses to ignore the gaps in our understanding. Essentially, we ignore the gaps in our understanding, affirming to address them later, for the sake of getting through the thought all at once in our heads. Eventually, we never get back to those gaps again — we either forget them or assume they are not important.
However, on the flip side, when we force ourselves to articulate our thought process around a specific approach, we tend to guardrail those gaps and only consider rock-solid thoughts and discard every other thought as noise.
So the next time you start fumbling over a problem in your mind, remember your imaginary rubber duck is in front of you and you are free to say whatever you want to say to that duck. All that matters, in the end, is the most succinct and articulate solution that the rubber duck helps you find. Happy rubber ducking!