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.
Comments are closed.
15 comments
Haha I’m not implying that Stack Overflow isn’t a valuable resource; just take a look at how I started the article: “Stack Overflow is a great resource”.
My point is that most common questions have already been asked and subsequently answered. You said it yourself, you’ve learnt a lot of from Stack Overflow due to the great answers you were able to find. But how many questions have you asked? I’m going to take a guess and say not many. By the sounds of things, you’ve been finding answers on questions that other people have already asked. And that’s my point – if you’re self-sufficient and willing to put a bit of effort into researching, you’ll probably be able to find an answer to your problem without asking a question, regardless of your skill as a developer.
My issue isn’t with people not knowing what to Google. Quite often I copy and paste the persons exact question, paste it into Google, get the first result (which is quite often a Stack Overflow answer), and mark the question as duplicate. The problem isn’t that they don’t know what to Google; the problem is that they either didn’t Google their question to begin with, or they Googled it but they gave up because the question was a little bit different to theirs, and they couldn’t be bothered spending 5 minutes to apply the given solution to their problem. I have an issue with this, because I don’t believe that spoon-feeding answers to people helps them become better developers.
The majority of your post talks about how Stack Overflow has been useful to you. Again, I’m not disputing this. I agree that Stack Overflow is an amazing resource, with thousands upon thousands of fantastic questions and answers. You don’t need to convince me of how useful it is; I use it nearly every single day.
My issue stems from the newest questions feed. Do you monitor this? Are you an active answerer? The reason I ask is because I’m not certain that you actually understand the issue I’m talking about. As an active answerer, it’s painfully obvious that 99% of people asking questions aren’t interesting in learning. They just want to be spoon feed an answer, so they can copy and paste it into their app and never think about it again.
To me it’s clear that you’re part of the 1% who actually wants to learn and become a better developer, but trust me – it’s painfully obvious that the other 99% couldn’t care less about learning. They just want copy-paste solutions, which is bad for the community as a whole.
I think there’s value in answering the stupid questions. I’ve heard a lot of people recently making the same point you raised–that you can find answers to most of the questions just by googling. Infact, I find a lot of the comments on stack overflow are just people saying “just google it.” But I there’s value to answering the question. For one, you are underrating the value of the knowledge advantage you have over the person who post the question: you know what to google. A beginner won’t even know that. And besides, it’s handy to aggregate these answers to a central exchange where, in addition to being easier to find, experienced programmers can evaluate the quality of the advice. (I guess it would be better if they gave you points for linking to the googled answer–no need to retype it as if it’s original)
But the bigger issue, I think, is that unlike most tutorials, stack overflow questions actually help you learn how to *do* things with a programming language. When I was first starting programming I assumed that stack overflow was as stupid and useless as, say, yahoo answers, and ignored all google results from there, looking instead for tutorials and things. I completed the entire course on Javascript at CodeAcademy, and they never once mentioned how to use javascript to interact with the DOM. The only actual thing they taught how to do was console.log(), which is less helpful than you’d think when you consider they didn’t mention how to find the browser’s javascript console. (in retrospect I think they expected people to learn how to actually do things in the jquery course, but this was never explained. Also, that’s stupid.) Instead, the course was all about highly general stuff if else statements, variable types, classes, functions, closures, for loops, scope etc, much of which really isn’t that important for beginners writing their first app. It was on stack overflow that I learned about all the getElementById methods, innerHTML properties, how to do an ajax request–the things you actually let you use javascript.
It was much the same story when I started learning C#. The tutorials are all about polymorphism, interfaces, inheritance, reflection when what beginners really need are practical things like lists of event handlers, how to save a string as a text file, how to connect to a database. Again, stack overflow is where I learned how to actually use C# to do things. I could have saved a fair amount of time if I’d skipped the tutorials and just read answers in stack overflow about people actually doing things.
So, I think stack overflow is a hugely valuable resource.
I’m not implying that Stack Overflow isn’t a valuable resource; just take a look at how I started the article: “Stack Overflow is a great resource”.
My point is that most common questions have already been asked and subsequently answered. You said it yourself, you’ve learnt a lot of from Stack Overflow due to the great answers you were able to find. But how many questions have you asked? I’m going to take a guess and say not many. By the sounds of things, you’ve been finding answers on questions that other people have already asked. And that’s my point – if you’re self-sufficient and willing to put a bit of effort into researching, you’ll probably be able to find an answer to your problem without asking a question, regardless of your skill as a developer.
My issue isn’t with people not knowing what to Google. Quite often I copy and paste the persons exact question, paste it into Google, get the first result (which is quite often a Stack Overflow answer), and mark the question as duplicate. The problem isn’t that they don’t know what to Google; the problem is that they either didn’t Google their question to begin with, or they Googled it but they gave up because the question was a little bit different to theirs, and they couldn’t be bothered spending 5 minutes to apply the given solution to their problem. I have an issue with this, because I don’t believe that spoon-feeding answers to people helps them become better developers.
The majority of your post talks about how Stack Overflow has been useful to you. Again, I’m not disputing this. I agree that Stack Overflow is an amazing resource, with thousands upon thousands of fantastic questions and answers. You don’t need to convince me of how useful it is; I use it nearly every single day.
My issue stems from the newest questions feed. Do you monitor this? Are you an active answerer? The reason I ask is because I’m not certain that you actually understand the issue I’m talking about. As an active answerer, it’s painfully obvious that 99% of people asking questions aren’t interesting in learning. They just want to be spoon feed an answer, so they can copy and paste it into their app and never think about it again.
To me it’s clear that you’re part of the 1% who actually wants to learn and become a better developer, but trust me – it’s painfully obvious that the other 99% couldn’t care less about learning. They just want copy-paste solutions, which is bad for the community as a whole.
I don’t have much new to contribute, but I agree, and find it frustrating when I google something and have to skip past all the s.o answers in order to find anything with an explanation that wI’ll help me learn. S.O in that regard can prevent someone from growing in their skills.
When I come across old questions with poor answers, sometimes I to write a more detailed answer. If that ever happens to you, I think it’s worth writing your own answer anyway. Eventually, if other people find it useful and it’s a common question, your answer will get upvoted and more people will see it.
I respectfully disagree. StackOverflow (SO), I assert, will continue to exist for the same reasons it exists today.
The most important quality of SO is that it is organic. Sure, there exists a divide between the question askers and the question answerers, but that is immaterial to the end result. I honestly think that perhaps you’re simply too close, too involved with the giving of your time to others for no material gain …and who could blame you …honestly.
My experience with SO is quite different. As a developer with 25 years experience but who somewhat recently re-tooled from desktop app dev to web dev and who uses SO very frequently. Whenever I have a question, I google it, and that more often than not brings me to SO …where [obviously] the question has already been asked and answered; consequently, I rarely (I think twice) ask a question on SO. And the funny thing is, although I am well qualified to answer questions and have wanted to on several occasions, I have never answered one as I have an insufficient “reputation score” to do that (kind of a weird joke, I think).
From my perspective it seems more likely that, rather than fade into obscurity as it would seem your post suggests will happen, StackOverflow will almost certainly continue to grow, continue to take in thousands of re-posted questions asked by one group and answered by another group, and group membership will continue to ebb and flow. After all, at this point SO is self-sustaining by the shear number of users supporting it.
That’s just my opinion …even if worth what you paid for it. 🙂
I don’t believe that my post suggests that SO will fade into obscurity; it seems you’re basing your entire argument off one quote I made: “But it’s days as a useful resource are limited”.
I did make other points too, so I’d like to know: when you say you “respectfully disagree”, with what point are you disagreeing? The overarching point in my article is that nearly every important/reusable question has already been asked and answered, which means the majority of new questions are useless (due to them being too specific, or “fix this code for me”, or general rubbish etc). The funny thing about this is that it aligns 100% with what you’re saying about never needing to ask a question – you always Google your problem first, find a good SO answer, and thus never really have the need to ask a question. So it’s pretty clear that we’re actually in agreement on that point.
Perhaps you’re disagreeing with my opinion about how I believe the majority of new questions are useless? That would be a little rude as you said yourself you don’t participate in answering questions, so how would you know the average quality of questions being asked on SO? Regardless, if this is the case, I urge you to go through the latest questions for your specific expertise and take a look. For me it’s javascript, jquery, html, and css. For any of those tags, the questions are double-edged swords. Firstly, they’re usually highly specific (tightly coupled to the provided code instead of being generic) which means that the answer is very unlikely to help anyone in the future. Secondly, more often than not the answer can be found by Googling it. I have answered many questions about languages and frameworks I know nothing about simply by Googling the exact question.
You see, I haven’t asked many questions either. That’s because when I have a question, I research it thoroughly and nearly every single time I’m able to find an answer on my own. At this point I’d like to point out that again this aligns 100% with what you’re saying in your comment.
So my other issue is idealogical. The majority of people asking new questions aren’t doing it because their problems are unique, difficult, or possibly helpful to others. They’re doing it because they’re too lazy to actually Google the issue and come to their own solution. And I don’t like that, because if I (and you, and every other good developer I know) can manage to solve nearly every problem with a little bit of research, then so can everyone else. Instead many people choose to take the lazy route and ask the question on SO so that someone else will do the research for them, and they can continue being lazy.
I’ve gone off on a little tangent here, but my question still remains: with which point are you disagreeing? Because it sounds like we’re sitting on the same side of the fence.
Admittedly, one can say that I was a little off base with the perception that you were trying to predict SO’s future, and so I apologize for that. And actually, yes, we do seem pretty much in the same camp on the matter …but with at least one difference in perceptions. I mean, when I read your post, I thought to myself, “What’s the problem here? Just stop answering questions – problem solved,” but then I instead [somewhat unwittingly] focused on the prediction idea.
Ultimately I was really just wanting to give my perspective, because it is quite different than yours. As a developer who has always pushed himself to learn rather than simply copy/paste someone else’s code, there are still plenty of times when I google a question that a week later I will look back and think was a “stupid question.” Even with over 25 years full-stack dev experience, especially having transitioned from one world to another in terms of languages, db platform, et cetera, having the ability to find an answer to a stupid question is powerful stuff.
Whenever I have a question, I google it, and more often than not it takes me to SO. I have absolutely no idea how many or in what ratios questions exist on SO …only that there is one (or more) that matches my google search at the time. Moreover (and this I guess is kind of my point in my previous post), the specific dynamics in how questions get asked and answered is seldom a concern of mine – not because I wouldn’t offer my own answers (because I would), but because what I seek (a particular question to be answered) is available.
In other words, so long as an answer exists, I don’t care about how it came to exist …so long as the answer is relevant and reliable (and Google tends to take care of that quite nicely), and that is especially true when the answer is derived through crowdsourced model, and that is why I believe A) StackOverflow will most likely be around for a very long time (and I’m not suggesting that you necessarily disagree); and B) the stupid-questions-to-quality-questions ratio is largely irrelevant …so long as answers sought to whatever type or level of question to which one might seek an answer can be found, the system is working.
In the end, I probably disagree with you less and instead simply see things from a different perspective. To me, SO is a powerful resource for which I have huge appreciation, and to contributors such as yourself I have much respect and gratitude. While I stand by my analysis and conclusions derived therefrom, being honest, in the position of a taker far more than a contributor, perhaps mine is an opinion born of luxury. In any case, it is merely my opinion. Maybe it’s worth something; maybe it’s worth precisely what you paid for it.
Thanks for the pushback on my post; I deserved it, and I’m glad that I understand your points better. I am taking away from this exchange a deeper appreciation for SO and its contributors. So, definitely thanks for that!
Yeah that’s definitely true. The majority of things I Google point me to Stack Overflow answers which means it hosts a good chuck of highly useful information. And I really like the way that I know what’s a good answer due the number of upvotes and/or comments.
You’re right, I should just simply not answer. I stopped for a year and recently started back up, but it’s even worse now, so I’m done with it. The problem is that people like myself who provide detailed and informative answers are all leaving. If I was contributing to a community where people care about learning then I’d be happy to continue. But that might constitute 1% (or less) of all answers I’ve given. The rest of the time, people are just looking for a copypaste solution; they honestly couldn’t care how much work you put into providing a good explanation. Answering Stack Overflow questions these days is less about helping people learn something and more about doing people’s work/research for free.
Of course, this doesn’t invalidate any of the previously answered questions and the massive archive of useful answers. But the risk is that if someone asks a genuinely good question today, the answer certainly isn’t going to be of the quality it would have been 2 or 3 years ago. I’ve asked a couple of complicated questions and they’re mostly met with silence, because all the knowledgable people have left.
Yes, I definitely see your point.
One aspect of my perspective I did not explain is, because I am something of a ‘johnny-come-lately’ (at least in terms of jquery and coldfusion, for instance) due to my ‘lateral shift’ from one environment to another one with different languages and different concepts than those to which I was previously essentially solely dedicated, I missed the opportunity to get in at a level (I’m speaking of the “reputation” score) whereat I could make an impact rather than just be a leech. It’s frustrating even when I click to vote up an answer and it tells me that my score is (by one point, ironically) too low to even vote.
I couldn’t agree more. I’ve been searching stack overflow for answers quite some time. Only started to ask few questions few months back but most of my questions were put on hold, closed or unanswered. Some so called high reputation developers put my questions on hold and stated my questions are off-topic. When you check on their profile, they have no experience nor knowledge of what you are asking. Why don’t these ppl leave the questions alone if they cant answer them. I admit sometimes my questions are not clear enough so
I edit the my questions to the point where even my grandma could understand them. But do you expect someone that needs your explanation to this extend is able to answer your question?
You’re exactly right. If the question isn’t something that’s able to be answered by 10 people in the first 5 seconds of posting, it gets flagged, closed, deleted, receives negative comments etc. Ironic because for questions like that, there’s a 99% chance that the exact same question has already been asked and answered before. Nearly every new question on Stack Overflow is a repost.
Questions that require actual intellect to solve are no longer permitted on the site. Rather, it’s all about answering questions like “fix my css” or “write this function because I don’t know enough javascript to do it myself”. Instead of promoting learning, Stack Overflow is basically a way for people with low/no skill to get other people to do their work for free, and in return the developers get this elusive thing called “reputation” which means absolutely nothing.
So now we have to go back to forums / mailing lists, where the people who know what they’re talking about still hang out.
completely true… I used to get tons of answers a few years ago, but now that I became better and that answers to my questions are unique cases requiring real knowledge, I don’t get any responses anymore. My last 5 questions are unanswered, they don’t even have a comment!
Yep, that’s exactly what happened to me. Any time I asked a question requiring some advanced knowledge, it was met with silence. I think once you start to become more experienced – such as what happened with you and I – you realise that StackOverflow is a waste of precious time and you stop using it. Which would explain the lack of answers to more difficult questions.
That’s too bad to read, but completely understandable.
You helped me out on Stack Overflow and I learned something new from your answer. Most of the time it’s not the case however, as you put, “answers are just snippets of code which solve the problem, with no explanation as to how or why.”