View Single Post
  #2 (permalink)  
Old February 17th, 2007, 12:15 AM
woodyz woodyz is offline
Friend of Wrox
 
Join Date: May 2006
Posts: 643
Thanks: 0
Thanked 0 Times in 0 Posts
Default

My main motivation for posting answers has always been to force myself to improve my ability to comminucate. I like helping others for the selfish reason that it improves my abilities.

When I find I am answering someone who just wants someone to debug their code, I switch to trying to lead them into learning how to debug logically.

The book Practices of an Agile Developer (by Venkat Subramaniam and Andy Hunt) has a good practice about this. It is their Practice 42: Allow People to Figure it Out. Which in essence, as you will have guessed, is to point them in the right direction.

Still, it's always a lot of fun to see someone post an error message that is pretty clear and ask "what is going on?". But I remember a long time back when I was learning and had trouble making sense of error messages (which can sometimes be very cryptic) and a senior engineer I was working with helped me understand how to read and use the error message, so I can be a little sympathetic.

However... I don't think any real developers are getting lazy because of the internet. There is so much we have to be able to do to be effective that we need to take advantage of any opportunity to find answers and info when we need it. The beginners who catch on don't ask the "dumb" questions for very long, and the rest just fade away (most of them, anyway).

I don't think books are going to disappear soon. I could be wrong. But a good technical author who knows how to explain things succinctly and clearly brings a lot of value to the reader. When I find one I really appreciate him or her. Guys like Rober Martin, Martin Fowler, Dave Thomas and Andy Hunt, the Poppendiecks, Alan Shalloway and James Trott, and so on gather all the info, boil it down, clean it up, ruminate on it, and present it in a way that makes it easy for me to absorb it quickly. That is worth a lot to me.

The folks I work with are all pretty sharp, and all pretty capable. A couple of them are geniuses, and the rest know how to operate pretty close to genius level. I turn to them all the time for help. They always help to the best of their abilities and I am thankful for that. Even better, we exchange ideas and thoughts on very complex things providing a sort of collective genius that usually brings quick results. The internet is just another way to do this sort of sharing.

Another thing is that learning to pose a question in writing so that someone else can actually understand it is no easy thing. Most of the beginners at these forums have a heck of a time trying to gather their thoughts enough to even make a meaningful sentence. They don't know the terminology (which of course, I barely do either) or the concepts - so they are at a big handicap. It is just part of the process - as they learn to ask better, they learn to think better. As they learn to form the question, the thinking that goes on sometimes leads them to the answer so they don't even end up having to ask in the end.

Those ridiculous posts where someone shows 200 lines of code is the starting point for someone who has a lot to learn about asking for help. I am thinking of writing a condensed version of the "smart-questions" faq you have a link to in your signature. Maybe we need a nice little "how to debug without stepping through code" tutorial. Perhaps there is one somewhere on the internet...

Woody Z
http://www.learntoprogramnow.com
Reply With Quote