Stack Overflow is a great resource. I’ll admit that a good chunk of questions I google point me to Stack Overflow answers, all of which give me the exact information I need – thanks to the voting system that allows opinions to be croudsourced. Compared to reading blog articles (which, for all you know might be outdated, opinionated, or outright incorrect), or forum arguments, the Stack Overflow community helps you make decisions instantly without having to read through a thesis of information and form your own opinions on topics you don’t necessarily understand. But it’s days as a useful resource are limited.

Rewind 2 years and many of the questions were structured, challenging, and promoted good discussion & thoughtful answers. Today, this is not the case. As an active answerer, I’ve come to realise that 95% of questions are useless. More often than not I don’t actually know answers off the top of my head. No, instead I Google it, find the answer, and post a response. And if I can do that, so can anyone. I came to the realisation that Stack Overflow isn’t required for the majority of questions that people ask, it’s just a tool that people are using to get other people to do their basic research for them. And I bought into it.

It seems that the more basic the question is, the more people answer it. Simple questions involving if statements and loops and “I have x and I want it to do y” gather tens of answers in minutes. Worse, these answers are just snippets of code which solve the problem, with no explanation as to how or why. This means the person who asked the question learns nothing, they just blindly copy and paste solutions to their problems, which fuels the fire for more un-educational questions & answers.

But why?

Reputation. It’s the reason people play WoW. It’s why we do prestige mode on COD. It’s that virtual meaningless number that people value more than the actual time they put into achieving it. And you’re competing against other people – if you don’t get that answer in quick enough, someone else will get in first, grab the upvotes, and take the answer. It doesn’t matter if your answer is more detailed with an explanation, it’s too late. So you need to be quick, which is detrimental to answer quality. And answering a difficult question probably won’t gain you any more rep than writing a javascript one-liner, so no one bothers. In terms of the usefulness of the answer to future users, a one-liner is useless, yet a detailed answer to a problematic question will likely help future visitors (providing it’s not too localised). But people don’t do it. Because it’s not about the community anymore, it’s about the rep.

Take it one step further and look at the last 100 questions asked, specifically the user reputations. A large portion of these are from brand new users (1 point). Another large portion is from repeat askers (under 500 points). And the final part, if you’re lucky, would be to find a question by an active answerer. But you probably won’t find one. Questions are asked by people who don’t contribute to the community answer-wise, and answers are provided by users who don’t contribute to the community question-wise. Rather than a resource where the value is mutual in the exchange of knowledge (from both questions & answers), it’s now a resource where the primary value to questioners is quick & dirty answers, and the primary value to answers is reputation. Looking into the future, there is no long term value in either of these. Stack Overflow is becoming like freelancer.com, except instead of getting paid, people are working for free.

There was a theory I once read that said while tools, trends, & technologies change frequently, the underlying concepts don’t change as often. As a result, most of the important questions people have in the programming community have already been asked. So, simply put, there aren’t as many important questions to ask that haven’t already been answered. This makes sense, because as a developer solving complex issues, I rarely find myself stuck – 99% of the time I’m able to find an answer/solution to any problem I’m having. It’s all been discussed before, no one’s really doing anything new. So nowadays people are turning to Stack Overflow to use the community as a cog-wheel doing/bug fixing machine rather than a resource for knowledge.

What do I expect Stack Overflow to do? No idea. It’s not their fault, but people are taking advantage of the system. I find it sad that some people are too lazy to use Google and a bit of ingenuity, and other people continuously spoon feed them with plug-and-play answers. I don’t know how Stack Overflow can solve that problem. But one thing I do know is that I’m going to stop being a spoon feeder and wasting my time answering the same questions over & over again.