In software engineering, rubber duck debugging is a method of debugging code.
Many programmers have had the experience of explaining a problem to someone else, possibly even to someone who knows nothing about programming and then hitting upon the solution in the process of explaining the problem