It is nothing. It is everything. It is Zabada.
Random header image... Refresh for more!

Thoughts on Troubleshooting and Debugging

Say I am an engineer who designed, oh … say, a lamp. It’s kind of fancy, it’s got a programmable timer so that you can set it up to turn on an off at specified times.

A technical support person comes to me and says, “I’ve got a customer whose lamp doesn’t work, you’ve got a bug in the logic that handles time zones in the timer.”

“Hmmmm” I say. What makes you think that there’s a bug in time zone stuff?

“Well, our customer was living in NYC and he moved to Chicago. When he set it up in his Chicago loft, it didn’t work. NYC is Eastern time, Chicago is Central.”

“Hmmm. Couple of questions. Is the lamp plugged into a working AC outlet and is there a working bulb in the lamp?”

“Yep” says support technician.

“You verfied this?” I ask.

“Yep”

“How did you verify this”.

“Oh, the customer said that it worked in his NYC apartment.”

I say, “OK, humor me here. 1.) Plug some other electric powered device into the outlet that the lamp is plugged into and verify that it the outlet is delivering power. 2.) Take the bulb out of the lamp and make sure that it works in another working lamp.”

“OK, just a minute” says technical support technician. “Oh, it wasn’t plugged in. Now it works.”

Support technician does not say thanks. He does not apologize for prematurely playing the blame game and saying that we coded a bug into our product and I don’t hear from him again until there’s a new problem in which he has prematurely come up with a hair-brained explanation as to what the problem is.

It never ceases to amaze me how few technical folks are good at asking the fundamental questions to themselves when trying to figure out a problem. When I am presented with something that does not work, the first thing that I ask myself is “What are the things that make this thing fundamentally work?” 80% of the time, the problem can quickly be solved after asking this question. The fact that time after time after time folks come to me saying they’ve found a bug with something deep in the product and 80% of the time they not correct, is very disheartening.

Now, sometimes there ARE problems. The 20% of the time that the problem brought before me is indeed a bug, I will be the first one to climb on to the mountain top, say “we’ve got a bug!” and take responsibility whether it was directly my fault or not.

On a side note … folks need to learn to leave their ego at the door and always be open to the possibility that they made a mistake and fess up when they screw up. We all screw up. People trust you and like you a lot more when you fess up when you screw up … people who play the blame game for 45 hours a week at work are universally hated, whether they are correct in assigning blame or not.

Ok, that’s enough of a rant! Have a joyful weekend and I hope that you don’t run into any problems that you have to troubleshoot. But if you do, please first ask your self “what are the fundamental things that make this thing work?” There’s a decent chance that you will find that the “broken” lawnmower can be fixed by putting a $4 gallon of gas in it :)

4 comments

1 Jim { 04.27.08 at 4:40 pm }

That was funny. :) :D

2 Rob Lambert { 04.27.08 at 6:39 pm }

Thanks for reading Jim. Don’t think that when you leave school you won’t have to work with silly people; you have to work with them your whole life!

3 Mike { 04.28.08 at 9:08 am }

…I work with Rob…I wonder if he’s talking about me…

I will just blissfully ignore this article and put my head back in the clouds.

4 Tim O'Brien { 04.29.08 at 9:44 am }

It is even more fun when you ask the technical support engineer if the lamp is plugged in and he quickly tells you it is. You spend another three days troubleshooting the lamps switching mechanism only to realize that the technical support engineer was not tell you the truth. It wasn’t plugged in all along.

Then you have a semi-joking conversation with all of the other developers about installing a surveillance camera (screen capture) in the support engineer’s lab to double-check all of the facts he is sharing with you during a bug report.

These are the things that make IT fun.

Leave a Comment