- **Epistemic status:** #budding
![[timothy-dykes-LhqLdDPcSV8-unsplash.jpg]]
In software engineering, the Rubber Duck [[Debugging]] technique is the process of explaining the problem and the solution you found step by step to another person or an inanimate object. The simple act of explaining it to someone or a thing that doesn't necessarily respond back and does not know about the problem you are trying to solve forces you to evaluate what the problem is, what the code is doing, and what it is supposed to do. Any contradiction between these become apparent, leading to a deeper understanding of the problem.
---
## References
- “Debugging.” In _Wikipedia_, June 24, 2022. <https://en.wikipedia.org/w/index.php?title=Debugging&oldid=1094757787>.
- “Rubber Duck Debugging.” In _Wikipedia_, June 17, 2022. <https://en.wikipedia.org/w/index.php?title=Rubber_duck_debugging&oldid=1093645021>.
- Thomas, David, and Andrew Hunt. _The Pragmatic Programmer, 20th Anniversary Edition: Journey to Mastery_. Second edition. Boston: Addison-Wesley, 2019.