Debugging

Last modified by Drunk Monkey on 2024-04-03 19:35

 

Ask the Duck

archived from: https://hwrnmnbsol.livejournal.com/148664.html

more here: https://blog.codinghorror.com/rubber-duck-problem-solving/

January 6th, 2012

drwex asked a question about how one might teach the development of analytical thinking skills in others. This is not a comprehensive answer, but it shoots in that direction.

When I was a younger person, my first full-time adult-type job was designing automatic fire sprinkler systems. It was an eye-opening and educational experience, and even though the job basically sucked, I learned all kinds of crazy stuff in that job that I use daily in my present-day non-sucky job, so I can't complain.

One interesting lesson was learned at the hand of the Chief Superintendant, Bob. Bob was in charge of installing the systems that me and my group designed. People who put things in, I quickly learned, have a wealth of knowledge and experience about things that people who only design never gain. As a result, when I first started in that job, I wound up going and bugging Bob for answers on a regular basis.

This annoyed Bob. Bob liked to sit in his office and shoot the shit with his buddies on the topics of fishing or hunting. He did not like fielding questions from young designers. This was especially true because, in his opinion, many of the questions could be answered by me, without bothering him, if I would just think about it the right way. At one point he got fed up. When I came into his office and opened my mouth to start asking whatever question I had, he told me to stop.

Bob pointed into a corner of the office. "Over there," he said, "is a stuffed duck. I want you to ask that duck your question."

I looked at the duck. It was, in fact, stuffed, and very dead. Even if it had not been dead, it probably would not have been a good source of design information. I looked at Bob. Bob was dead serious. He was also my superior, and I wanted to keep my job.

I awkwardly went to stand next to the duck and bent my head, as if in prayer, to commune with this duck. "What," Bob demanded, "are you doing?"

"I'm asking my question of the duck," I said.

One of Bob's superintendants was in his office. He was grinning like a bastard around his toothpick. "Andy," Bob said, "I don't want you to pray to the duck. I want you to ASK THE DUCK YOUR QUESTION."

I licked my lips. "Out loud?" I said.

"Out loud," Bob said firmly.

I cleared my throat. "Duck," I began.

"Its name is Bob Junior," Bob's superintendant supplied. I shot him a dirty look.

"Duck," I continued, "I want to know, when you use a strap hanger, what keeps the sprinkler pipe from jumping out of the strap when the head discharges, causing the pipe to..."

In the middle of asking the duck my question, the answer hit me. The strap hanger is suspended from the structure above by a length of all-thread rod. If the pipe-fitter cuts the all-thread rod such that it butts up against the top of the pipe, it essentially will hold the pipe in the hanger and keep it from bucking.

I turned to look at Bob. Bob was nodding. "You know, don't you," he said.

"You run the all-thread rod to the top of the pipe," I said.

"That's right," said Bob. "Next time you have a question, I want you to come in here and ask the duck, not me. Ask it out loud. If you still don't know the answer, then you can ask me."

"Okay," I said, and got back to work.

In the months that followed, I had many questions. I followed Bob's directions and asked the duck my questions. I believe that 50% of the time, asking the duck produced the answer.

Why does this work? I am not sure. I think there is something about framing your question as a verbal inquiry that causes your brain to work on it differently. You turn the question around and see it from another angle -- the angle of the person answering the question. This, in turn, causes your own brain to put itself in the answerer's shoes -- and, because we are basically clever apes, we have the tools to come up with smart ideas all on our own.

Fast forward to my current job. I am no longer a young designer. I am now an officer in a medium-size engineering firm. I do less designing than managing these days. And I get asked a lot of questions.

A few months back, after being interrupted for the sixth time that day by a very smart young engineer who had a question for me, I chose not to answer. Instead, I took the young man down the hall from my office and into a huddle room. Hanging in the huddle room was a photograph of our company's founder shaking hands with a politician.

"This," I said, "is Newt Gingrich, 58th Speaker of the US House of Representatives, and he is generally considered a smart fellow, even by those who despise him." My young engineer looked up at Newt, wondering where on Earth this could possibly be going, just as I had done with Bob and the duck many years ago.

I get less questions these days. But I think my young engineers get better answers, because there is no thinking quite so well-understood as thinking you do for yourself, even if you get a little help from a duck, or a politician, even one I loathe.