Rubber Duck Design
You probably already experienced a situation where your were stuck in the middle of a complex algorithm or something that was not working as expected and then while you are explaining this problem to someone else everything becomes clear and you find a solution straight away.
Even if the person you expose the problem has nothing to do with it or even doesn’t have any background on the subject this may work nicely.
Nothing better than embrace this so frequent pattern to solve complex problems, right? Yes, but you are not supposed to bother your coworkers every time, since they have their own stuff to do.
This is where the rubber duck comes in place. The debugging practice involves using a rubber duck to explain what your are planning to do, why things are not working as expected etc.
The duck, will hear you patiently and will not contest anything you say I bet! For me this seems a great idea to have an object you can kind of emotionally bound with, so you increase your commitment to explain things right, trying to make sense like if it were a human being.
Thanks to my friend Nuno, I will be adopting a rubber duck to become a better programmer.