Why does it work?
The true answers were the ones we discovered along the way.
Jokes aside, humans are very capable problem solvers because we mastered language as a species. Our brains have evolved language centers to process information. Here's a few reasons why that's beneficial:
When we speak out loud, we're engaging different parts of our brain than when we think quietly to ourselves.
When we hear our thoughts out loud, we clarify and organize them differently than when we keep it internal
By vocalizing information, you're more likely to remember it
The more you use these parts of your brain, the sharper the skill is
So going back to your coding problem, rubber duck debugging forces clarity and organization from you. When you get stuck, it can feel like you're in a bad while
loop. No matter how often you "start from the top", it just sounds like the same thing. But when you say it out loud, you can find insight that you previously missed.
Debugging is also a specific technical skill, similar to understanding API's or how those dang CSS flex boxes work. The more you use it, the better you are at it. Speaking out loud makes your iterations faster, which gives you more reps, which makes you overall stronger than if you have less reps.
How do I get more reps?
If you want to problem solve faster, it can help to have open-ended questions asked as you talk. That's why we made Brainstory. Brainstory is an AI-powered rubber ducking service that just wants to help you clarify your thinking. Unlike generative AI tools, it's not going to try and problem solve for you. We know that a lot of coding problems are more complicated than "Well, there's your typo!".
As a bonus feature, Brainstory has a built-in collaborative feature that let's other people rubber duck your rubber duck. Meaning, you can share your open-ended debugging session with other people who can lend a hand. What's the hardest part about getting a senior engineer to help you? The fact that you can never get them on a call. Send them a Brainstory and they'll be able to help sharpen your debugging skills asynchronously.