Tuesday, July 27, 2010

Rubberducking

How many times have you experienced this : you are splitting you  hair (assuming you you have enough ) over some problem for hours and not able to make any headway . Then you call  your friend 2 cubicles away and ask for help. You  start explaining the problem to the friend and just halfway through it when you say : "Oh! It seems I got it!". Did your friend help you? I do not mean to offend your carbon based human friend, but in this case , even a rubber-duck would be able to help you as well because it was YOU who found out the problem while explaining it to your friend. This phenomenon is called "rubber ducking". So it basically means that when stuck with some seemingly difficult problem, talk to a rubber-duck, a plastic duck or for that matter any other duck. Even your dog, cat, cow, fish, goat, crow, pigeon or maybe your best friend will do, it does not matter. Explain the problem in detail and you will be surprised how many times you get to the root of it.

While rubber-ducking, it's the talking that matters. Explaining your problem out loud is often enough to shake things loose in your brain, expose bad assumptions, and cause you to see things in a new way. Speaking out loud accesses those parts of your brain which are not accessible while just "thinking". The act of explaining something gives you a new perspective on the topic. This is the reason why teaching is considered the best way to learn, as it forces us to explain our understanding of the subject and lets us see the things from a multitude of our students' perspectives.

So teach what you learn, spread the knowledge and be sure that you will be the one who would benefit the most .And next time you are stuck with the misbehaving code or some other such silly problems of life, talk to the rubber duck, and if that sounds too embarrassing to do in your cubicle, then by all means call your friend and explain. And yes, do not forget to thank him to be your rubber-duck (or your rubber penguin :).