Raise your hand if you've ever done this:
- At a programming forum that you regularly visit, you see a post asking for help
- The post describes a situation that you may not intimately familiar with, or that you know has been covered elsewhere many times, and it is clear a quick Google search will find a good answer.
- So, you think of some good key words, perform a few quick searches, examine the results, and determine which of your findings is a good answer for the person asking for help. It doesn't take too long, only a few minutes or so.
- You then post a response to the user with the URL of the page that provides their answer. There may even be a few different pages that have good info, so you might even provide a few good links for them.
- Alternatively, you might even summarize the findings yourself and provide a solution that doesn't even require for the user to visit a web page. You may even incorporate some of your own thoughts and ideas on the topic based on your experience.
Anyone who ever tries to help or share knowledge in a programming forum probably finds the above familiar. I think we've all done this. As I wrote
here, often the people who are "smart" and "intelligent" and who "know all the answers" are really just the people who aren't too lazy to read manuals or help files, or to do simple internet searches.
The other day, after
once again going through this process, it got me thinking ... just what the heck is happening here? Who is
really the intelligent person in this scenario?
I mean, think about it: Many of us have learned where and how to find answers, and we check reference books or help files or do web searches, and we read and interpret the materials and eventually find the answers we need. It is not always easy -- sometimes we need to read through different books, or try different search terms, or read lots of lots of text just to get that quick and often simple answer. We are quite proud of this and consider ourselves much better off for knowing where to find answers on our own.
However, consider the other side of the equation. Why bother with Google, or help files, or programming manuals, when you don't need to? Why not simply use the most intelligent search tool that exists? A search engine that flawlessly parses your (mostly) English sentences (and politely asks for clarification if it cannot!), knows how to pick out key search terms, checks all kinds of varied and sometimes obscure resources, and then actually
reads and
interprets those resources to provide perfect links to web pages for your needs -- often with extra information and instructions and logically derived guidance and advice!
Who wouldn't use that tool if it were available? Well, guess what -- it is!
This amazing search engine is:
People like you and me!
Are the "newbies" really that clueless? Or are they using the best technology available to quickly get amazingly accurate and detailed results? Why bother with Google when someone else is willing to do it for you? Why go through dozens of search results when someone else will do it for you? Why ever learn how to find anything when you never need to?
Don't misunderstand me -- this does not apply to all forums and all people asking questions. Many, many questions really are appropriate for a forum, and the answers may be subjective or subtle or require some "back and forth" to determine the best course of action. Those questions make sense, are fun and interesting to read, answer and debate, and they provide good knowledge for all involved. It questions like "what does the SUBSTRING() function do?" and "how to check for null?" that I am referring to.
I often feel that these folks know perfectly well that Google is out there, and how it works, and how to access help files and documentation -- but they are much more practical, and much craftier and efficient than you or I! Why bother with a mechanical, stupid search engine that requires "lots of work" when there exists an amazingly intelligent and accurate resource that you can use instead?
Perhaps the real question is: how much good is it really doing when we blindly do the legwork for others? How does this affect/benefit the overall community that the forum of our choice serves? Are we really training and guiding those who are working hard to be a positive and contributing part of the community, or are we weakening it overall by enabling those that probably don't have what it takes to be members in the first place?
Maybe best response to some of these questions is really:
"You have two options: learn how to find the answer on your own, or find another line of work that does not involve programming computers in any way."
Wouldn't that be the most productive answer for all involved in the long run? Can someone who doesn't have the diligence or skill to find answers on their own
ever really succeed in this line of work?
(Update: A follow-up has been posted here. It might be helpful to read that first before commenting ... )