Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I appreciate the author's opinions overall, so this is a nitpick of just one of his core arguments. I think he is inverting the value of certain kinds of questions. To me, Stack Overflow is valuable primarily for the simple answers to simple questions, and secondarily for the complex answers to hard questions.

As a software developer well into my second decade of professional experience, I maintain a small number of technologies at what you might call an expert level. These technologies shift in and out of focus depending on what my current projects are.

When I complete a project and don't use the technology for more than a year or so, I've found that I forget all of the nitty gritty stuff and remember all the big conceptual stuff.

For example, I recently returned to Java after several years of disuse. All the bit conceptual stuff that was really hard for me to pick up initially, like polymorphic behavior, multithreading, etc., was still there. The easy but nit-picky stuff was all gone. I'd forgotten when boxing happens and doesn't happen, the behavior of equals in reference vs value types, even where I'm supposed to put certain syntactic elements. Simple questions on StackOverflow to the rescue!

As another example, I did a large project involving SVG in the early 2000's and got to the point where I knew as much as there was to know about it. I recently did a quick one-off project that utilized SVG, and I found that I'd retained the big conceptual ideas, such as the behavior of the coordinate system, the hierarchy of shapes, viewports, groups, etc., but I'd totally forgotten a huge laundry list of practical nitty-gritty things about actually making an SVG experience work.

In the Java example I was embarking on a large project, so I hit the books and re-taught myself to fish again, because it was quite worth my time investment to start from the fundamentals and work my way back up. In the SVG example, I literally just wanted to do something in an afternoon, and I knew SVG could do it, and I wasn't going to do any SVG work after that. Hitting the books and teaching myself to fish in that scenario would have been a waste of time. So I plowed through and was helped immensely by the simple-question simple-answer Stack Overflow scenario.

Then there's a whole list of technologies that I really don't have the brain-space to keep abreast of, but I still need to use. For example I am not an expert at shell scripting, but on occasion I need to write one. Back to Stack Overflow and the simple answers to simple questions.

Before Stack Overflow I wouldn't have been in the dark--as a long-time Internet community member, I would have gone through the usual: find the right community with the most helpful people, hope the community has a search engine or is well indexed by Google, read through long lists of replies without a voting system or assessment of quality, rinse-repeat. Stack Overflow speeds that process up immensely.



I moved from Perl to Python around 3 years ago. And google searches went from Perl Monks to SO. At first I found Stack Overflow nicer, with its clean modern interface, but as time goes by, I see the moderators attitude getting worse an worse.

Perl Monks encouraged discussion and deeper learning, even though a lot of it came down to Perl Golf.


Yeah, agreed, the other half of things that I didn't mention is that when I do find a good stand-alone community around a technology, that tends to be my go-to place. Especially for free ranging conceptual discussions.

What I see more of these days is a Google Group, or mailing list, or forum with a lot of core users discussing things, planning the future, debating, etc., and then a lot of reference back to Stack Overflow for particular questions that get asked a lot.

And that's really the core purpose of Stack Overflow. When it comes to writing documentation, the area that tends to have the most potential but the least realization of said potential is the FAQ. FAQs provide another dimension to documentation because they address the, "Well, given that I read this documentation, I still don't get X" scenario. No matter how well written the documentation is, there will be things that are not answerable, because software is so multidimensional. Usually the way a FAQ works out is that the person writing the documentation remembers a bunch of questions that were asked and answers them in place. Hopefully people come in later and fill in more answers based on questions that come in later. In the end it languishes. People have tried to address this via forums, wikis, and mailing lists, but in the end forums are a good place for narrative discussion, wikis are a good place for writing documentation period, but both are poor for FAQ because of their built in time decay, lack of voting, etc.

In that sense, Stack Overflow is a FAQ engine is appropriately geared toward explaining particular answers to particular questions.

That said, Stack Overflow became more than that after its community exploded, and I share in the annoyance when some of the more interesting free-ranging questions get shut down because they're open ended. I am not wholly on the side of FAQ-type lockdown.


Michael Richter mistakenly assumes that "hard work == productivity".

"Tough to solve C++ problems" are not in as high demand as relatively easy to answer Java questions. Stack Overflow scoring system captures that.


demand != productivity

Questions that google can answer are low-productivity, possibly anti-productive if they cause people to hit stackoverflow instead of language docs. Hard questions can completely save the day of a few people, and teach even more.


High demand for your effort means that your efforts scale better, which in turn improves productivity.

If your answer saved 30 minutes of effort for 10000 developers then it's 5 times better than to save 10 hours of effort for 100 developers.


If the easy questions were saving the time of that many people I wouldn't expect them to be re-asked so often. And the tricky expert-needing questions can teach you something about the language/platform/etc. even if you never encounter that specific problem. The 'fish' questions don't do that so much.


Just to add to that: it seems like stack overflow/exchange is really helpful when people can verify for themselves whether an answer is correct or not. Did the shell script modify the right files, does this SQL query return the right results, etc. It breaks down where beginners can't tell which of the answers is correct, which is usually the big conceptual stuff.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: