> ## Content Index
> Fetch the complete content index at: https://blog.kartech.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# The Rubber Duck Experience
- URL: https://blog.kartech.com/the-rubber-duck-experience/
- Published: 2018-12-03T04:46:00.000Z
- Updated: 2026-10-28T22:42:52.000Z
- Author: Jim Karnopp
- Tags: #gitea

![](https://blog.kartech.com/content/images/2026/10/9627cd3a9734b815.jpg)

I mentioned in my post about the Ypsilanti Software Development Meetup Group that my friend Fritz had suggested that we have a rubber ducky for a logo. My first thought was that it was a Ypsi tie in with the Heritage Festival that has a rubber duck race every year, but when I talked to Fritz over beers this weekend, he asked if I knew what the reference was. I mentioned the Ypsi thing, but he said that it was from a story about a programmer who would carry around a rubber duck and explain his code to the duck which helped in the debugging process. 

The previous week we had been discussing asynchronous programming in JavaScript and C#, and I had mentioned how I was struggling with figuring out how to use async and await with an MVC controller that calls a service class and then a database repository. The following day he asked me for clarification on what my issue was, and as I was documenting it to respond to him, I was able to figure out how to use the await in the service class. Fritz and I work in different environments with some overlap, but just the process of talking through issues can really help in gaining understanding. 

I really like the rubber duck analogy, and it reminds me of the Feynman approach where to really master a subject, you learn by teaching it. When you try to teach something to a novice, you have to understand the topic on a much deeper level than if you are just trying to understand it for yourself. One of the reasons I write blog posts and Wiki articles is so I can reinforce the things I have learned. They are also great references for things that I forget since they are written in my own words. I guess now I am going to have to get a rubber duck for my desk. 

Here is the wiki article on Rubber Duck Debugging. [https://en.wikipedia.org/wiki/Rubber\\\_duck\\\_debugging](https://en.wikipedia.org/wiki/Rubber%5C%5Fduck%5C%5Fdebugging?ref=blog.kartech.com)

Do you have any tricks that help you learn new things or retain information better? Let me know in the comments.