Go Down

Topic: Debugging - a dark art? (Read 2 times) previous topic - next topic

wildbill

I just made a post worthy of Captain Obvious, suggesting some things that the OP could do to proceed with some debugging. Suggestions that I'd be mildly ticked to receive myself because they are well, so bleedin' obvious. But apparently they aren't.

Perhaps I've been writing software too long, but I consider debugging skills to be basic life skills; if you come home and flip the light switch and nothing happens, you debug a bit before you call an electrician. Bulb Ok? Power out? fuse/breaker flipped?

How then do we see so many posts where folks haven't even taken a single step down the debugging path? Are they already overwhelmed with the complexities of the coding they've done? Does simply it not occur to them? Are they unaware of the tools (limited though they may be) that can be used?

I wonder if a section on the subject in Nick's sticky thread would be helpful.

billroy

This is an important question that I think about a lot, and I'm glad you asked it.

I think the emotional aspects of debugging are often overlooked.  Discovering that the program you created is malfunctioning has an emotional dimension, right? 

Consider the five stages of a bug:

1. Shock
2. Denial
3. Anger
4. Bargaining
5. Acceptance

The helpless ones you are describing are stuck in shock/denial.  That is why it is so hard to direct their focus and attention.

The frustrated ones are stuck in the anger stage.  We've all been there.  Kind of hard to focus.

It's the ones who are past the anger and looking for answers/bargains that we can help with technical advice. 

In my view, people stuck in stages 1-3 actually need emotional / social support more than technical support, until they can get back to the state of mind required to articulate the problem and accept guidance to focus back on it so they can solve it themselves.

Would be interested in other thoughts on the matter.


-br

JimboZA

Quote
if you come home and flip the light switch and nothing happens, you debug a bit before you call an electrician. Bulb Ok? Power out? fuse/breaker flipped?


You left the important part out, wildbill: flick the switch off and on a bunch of times in the hope that the result will differ one time and the light will start working. What a colleague of mine used to call POPO.... power off, power on.

One day a few years back, my next-door-neighbour asked my wife if we knew when the power was coming back on. My wife replied that as far as she knew our power was on, but checked a light and yes it was. My neighbour had gone the whole day, literally, with no power and hadn't checked her breakers. She assumed a) it was a power company problem and b) that we would have reported it.
Roy from ITCrowd: Have you tried turning it off an on again?
I'm on LinkedIn: http://www.linkedin.com/in/jimbrownza

billroy

#3
Apr 13, 2013, 02:41 pm Last Edit: Apr 13, 2013, 02:58 pm by billroy Reason: 1
"Learned helplessness":  A state of cultivated denial caused by the assumption that the problem is someone else's to solve.


-br

JimboZA

So, if debugging is the art of finding and removing errors in code, that must mean programming is the art of putting errors in and we should  refer to programming as "bugging".
Roy from ITCrowd: Have you tried turning it off an on again?
I'm on LinkedIn: http://www.linkedin.com/in/jimbrownza

Go Up