Friday, September 18, 2009

StackOverflow and the Lazy Developers

Hi again,

During the last days I've been looking deeply into StackOverflow and I must confess that's a great source of information and knowledge. But I've also found something that worries me a bit, lazy developers.

Most of the questions in StackOverflow are really valid. Complex questions about special cases, people looking for the help of a more experience developer or even questions that can be due to a lack of knowledge in an specific subject or a part of a language or API. But I've also found a big number of questions that can only be caused by pure laziness.

Why am I saying that? Because simply putting the question keywords in google you can find the answer. I've even seen cases where the first result in Google points to the valid answer (sometimes even inside StackOverflow).

Why does it worry me? Because I've always believed that a software developer must be capable of reading documentation, creating test cases and find solutions by himself (doing trial and error if needed). If we just limit ourselves to ask the most simple questions, means that we don't care enough about what we're doing. If we just ask about stuff that can be easily in our language/API/SDK documentation, I don't want to think what we'll do with more complex problems.

This behaviors will produce tons and tons of copy&pasted code in our programs and will create a generation of developers unable to think by themselves, solve the most easy problems or understand the real consequences of the pieces of code they write.

See you soon.

8 comments:

  1. We have this problem at dream.in.code as well. I think it's a problem that creeps in to most Q&A type sites. I know we have taken a fairly hardline approach to not providing help to lazy developers and have a standard set of rules we apply (although it is often over applied).

    We see it most from non-US developers who seem to take no interest in learning the "how" and only care about getting the solution with the least amount of effort. Sad, but seems to be common within the beginning programming community.

    ReplyDelete
  2. I think this was my favorite one: ( http://stackoverflow.com/questions/1424098/get-a-class-name-by-knowing-part-of-its-name-when-its-not-the-only-class-appli/1441953#1441953 ) that relates to this post... I posted a perfectly valid answer using a different page than what the question was about. So someone else who was also answering the question commented on it: "how does this answer the question?" sigh... even the people answering the questions are too lazy to think for a second...

    ReplyDelete
  3. You might be in an in environment where you get months of time to read the documentation and then implement something. If you should work in a bigger company where deadlines are like a sword on your neck, you really don't have the lap or luxury of reading documentation and then enough time left to implement by hit and trial.

    If google is there, why not use it... Lets use the technology rather than sticking to stupid assumptions that you should read the documentation. If expert help is available on trusted sites, you can reduce the development time by leaps and bounds...

    ReplyDelete
  4. @Rakesh: I'm not complaining about googling, in fact I think that looking for answers in google is as valid as looking into the documentation.

    But some people doesn't even take the time to do it. They simply directly ask for help :(

    ReplyDelete
  5. Just blooged about stackoverflow and efficient research too. http://www.uebersoftware.com/2009/09/jpa-best-practices-and-efficient-research/. The question becomes not if you find the answer to your problem on google but what's the quality if this answer and how fast you find it.

    ReplyDelete
  6. Part of the problem is that there is a willing supply on many programming forums to give answers to lazy questioners. I really wouldn't wish to disparage the generous people who are willing to help others in this way, but spoon-feeding answers to people is often less helpful to all concerned in the long term.

    ReplyDelete
  7. I'm not worried about it. Lazy and/or helpless developers were around before resources like StackOverflow were available, and they'll still be here for a long time. Having more resources to help them won't create a generation of dumb developers -- it'll just stop them from constantly pestering the senior developers sitting near them (which is what they used to do...), and everyone will get a lot more done. Also, people who *answer* these questions on StackOverflow are honing their own skills in their spare time by thinking about extra problems... so they benefit (and it's completely voluntary).

    The questioners *still* won't take over the industry, because it simply requires brains and problem-solving ability to be a good developer (the weak developers often hit situations where they don't even know what question to ask...), and because they're still utterly dependent on the presence of *real* developers to do the actual work.

    Just like before, some of these sneak into every company, and they coast along during good times, and they're the first to go during hard times. If they can limp along and actually generate some good code thanks to StackOverflow, that's great; they can do the "code monkey" work the better developers don't want anyway.

    ReplyDelete
  8. @Rob: I really like your explanation :)

    ReplyDelete