Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
I stopped contributing to stackoverflow, but it's not declining (bozho.net)
205 points by bozho on Sept 26, 2016 | hide | past | favorite | 193 comments


Stackoverflow works great for me, and I don't know why more people don't appear to use it like I do.

1) When you've got a problem, Google it. 98% of the time the answer will be in top 5 links to stackoverflow or documentation. You upvote the answer and question.

2) 1.5% of the time, stackoverflow will have a related question, but either it doesn't have an answer, or the answer has issues.

You figure it out yourself, so you post a comment or answer or just the crappy workaround you used because you ran out of time to figure it out completely.

3) The remaining 0.5% of the time, you get nothing. You post a question, but of course nobody answers because it's an esoteric, hard question. 24 hours later you post an answer to your own question, or more likely a crappy workaround.

And eventually somebody posts a great answer to your question. (Once this happened to me >3 years after I posted it!) It's way too late for you, but it will help the next person with the same problem.

You don't get a lot of karma quickly this way since you're posting esoteric stuff, but you do tend to pick up some badges that are designed to reward this sort of behaviour, like "Populist" and "Necromancer". You do pick up karma slowly and steadily, though. What's satisfying is seeing an answer tick over from zero to one ~12 months after you posted it, realising that you saved somebody hours of frustration.

If you answer an easy question, you've saved somebody a few minutes. When you answer a hard one, you've saved hours or days.


One issue I run into is finding a Stack Overflow question that exactly matches the issue I've run into, find that it's been closed for being a duplicate, click the link to the question it's supposed to be a duplicate of, and find that the other question is completely unrelated. Not only can I not find the answer from SO at this point, but if I find the answer on my own I can't even help others.

Another issue I've run into is the minimum numbers of characters needed to edit an answer. Once I found the answer that was chosen and upvoted had code that didn't make any sense. It was something like an instance of a point object "point1" and an instance "newpoint" and they wrote "point1 = newpoint;" but actually meant "point1 = new point();". When I realized the problem I tried to change it but wasn't able to because I wasn't changing the answer enough (I think there's a minimum 6 character limit). I didn't want to make random changes elsewhere just to make the minimum needed to fix it, so I let it be.

I find Stack Overflow useful, but I don't try to participate in it anymore and don't stay signed in.


The ones that really get my gripe are the ones that are flagged for being off topic.. Off what topic? This is a place where technical questions are asked and answered and this is a technical question that needs answering - Why is it closed?


> This is a place where technical questions are asked and answered

I think this is a great reflection of one of the largest problems that Stack Overflow has to solve, and that is user education. The definition of what is on topic for Stack Overflow is much more specific than just being "technical", but most users don't even know that.

This results in many new questions being closed. The community is constantly trying to reword these "closed" messages to be as friendly and helpful as possible, but to the newcomer it just feels like rejection.

In many ways, Stack Overflow has solved all it's "technology" problems, and now is left with a lot of psychology and communication problems. The site could definitely use a professional communications specialist.

(FWIW, for those curious, "on topic" is defined here: http://stackoverflow.com/help/on-topic)


It may be true that most users don't know how narrowly the topic is defined, but it's also true that many users do know, and simply think it is defined far too narrowly. Sometimes, if you just can't seem to communicate some policy concept to your target audience, it's a problem with the policy, not the communication.


> Sometimes, if you just can't seem to communicate some policy concept to your target audience, it's a problem with the policy, not the communication.

I agree 100%. If you were to claim that the "on topic" policy for Stack Overflow is too narrow, I would respectfully disagree.


Yep, I think it's too narrow. I'm more than happy to agree to disagree! I'm curious though, since you're certain this is the correct policy, why do you think it has been so hard to communicate?


Probably because the general internet population is conditioned to a "one place fits all" approach. Reddit, Facebook, Twitter, etc all are places where any content of any kind is welcome.

I personally think the Stack Exchange network is effective because it creates communities that specialize rather than a single generalized community. But new arriving users have a preconceived conception that all content is welcome.

I think a lot of that could be alleviated by binding together the "Stack Exchange Network" into a more cohesive single site though. Kind of how each subreddit can have its own rules, culture, and community, but it's still very clearly part of Reddit TM.

It would be neat if there was a single entry point into the Stack Exchange Network where you could post a question, with a dropdown for selecting which "network" you think is most appropriate.

They do appear to slowly be increasing this sort of cross-syndication between network sites, but it definitely has room for improvement.


I have flagged many questions for being off topic. You could say I'm part of the "problem" but from my standpoint, someone will ask a question that can be answered so many ways that the scope is too broad. Many times the person asking doesn't know enough to understand just how broad the question they've asked is. That's why I also leave a comment telling them _why_ I just voted to close.

This is, unfortunately, an unsolvable problem. They're asking the question precisely because they don't understand what they're asking enough to get a meaningful answer.


> You could say I'm part of the "problem"

And I do! With lots of swearing! :)

The only time I'm on SO is from a Google search result. They should at least make the danged site noindex itself for that page if it's the question has been closed. You wouldn't believe the amount of times I've been searching for a solution and found a SO link and thought I had the answer coming my way only to see the thing was closed before anyone could answer the question.

In all honesty, I don't give a rats why a question was closed. It was either closed and is now useless or open and has answers.

The solution is to make the closed question not appear in Google search results. If the same question keeps appearing the solution is to let someone answer it.


> The solution is to make the closed question not appear in Google search results. If the same question keeps appearing the solution is to let someone answer it.

This is a great idea. Have you considered discussing it on the Meta site?

The solution would definitely have to be more nuanced - sometimes "closed" questions have useful answers on them so you wouldn't want to remove those from Google. But removing "closed" questions that provide no value would probably be an improvement.


Well that's the other side of the problematic coin. The majority of my experience with SO is closed questions.

I generally consider myself a dumbass and not smart enough to figure out the rules to avoid getting topics closed, so I stick to reddit and HN (and it took years of lurking here before I started posting too!)


Maybe some questions are just not "too broad" but simply broad, and that one may wish to have a number of possible solutions to a problem and pick the one that fits one's case best ("one" being possibly someone else in the future that has a not precisely similar but close enough problem that the set of proposed solutions can help in finding the right path).

So maybe, just maybe a slightly broad question with a couple answers may be better that an theoretically ideal set of a thousand (question, answer) tuples each trying to fit a very restricted case. Unfortunately some mods seem hell-bent on promoting the latter, possibly in hope of writing bots that solve-by-Google (see stacksort[0]).

[0]: https://gkoberger.github.io/stacksort/


> Maybe some questions are just not "too broad" but simply broad, and that one may wish to have a number of possible solutions to a problem and pick the one that fits one's case best

I think there are two kinds of "broad":

1. There are multiple ways to solve a specific problem with a specific expected outcome. "How do I sort an array?", for example, is a broad question in that it can be solved in many ways, but you can definitively say whether any given solution is correct or not.

2. The problem is not specific, and there is no clear way to determine whether any given answer is actually a "solution". For example, a single question with only the text, "How do you write a game?"

Most "broad" questions fall on some spectrum between these two, but the closer a question is to the latter category, the less likely it is to generate any sort of helpful feedback. The community does sometimes label the former as "too broad", but 95% of the time the given close reasons are correct, and when they are wrong the site provides documentation on how to get your question re-opened.

It's hard to maintain a proper balance between moderating the inundation of terrible questions and avoiding the false-negative closing of legitimate questions.


I'd love to see the SO community's answers to "How do you write a game?".


I think this is an interesting and common response to the policies. As if the "Too Broad" close policy is the only thing stopping volunteer contributors from writing a 10 page thesis "How To Write A Video Game" for every questioner that asks for it.


Isn't this alleviated somewhat by marking duplicates? If nobody ever writes any good answers on the original question, oh well! It's just annoying when nobody can write a good answer to a broad question.

But hey, it's their site, and I'm just some rando on the internet - they get to make whatever policies they want.


My emphasis was less on the replication of effort, which duplicate tagging definitely resolves, and more on the idea that broad open-ended questions raise the bar for a well-qualified high-quality answer far above and beyond that needed for a simple and concise question of limited scope.

Allowing such questions effectively lowers the percentage of questions that get good answers, thereby training users NOT to expect an answer to a posted question, and leading to decreased engagement.

On the other hand, by disallowing such questions, the questions that do get asked are more likely to be answered, and this encourages repeat visits and increased engagement.


Hey, by the way, in case you happen to come back and see this after the fact: I've found your perspectives in this thread compelling, and while I'm not completely convinced, I'll definitely be incorporating your arguments into my thinking in the future.

Just thought I'd let you know you haven't been shouting into the wind!


My personal experience with such questions is that very often, the process of engaging in dialogue to determine what kind of answer(s) the asker actually wants is difficult and time-consuming. This typically complicated by askers who don't actually show up to the dialogue, leaving people who want to be helpful with no way to figure out what specific answers are helpful. There tends to be no adequate way to helpfully answer such questions, so people try to filter them out as poor uses of time.

The scenario you describe is somewhat different, in which the asker is well aware they have a broad question. Such people are advised to make clear that they know full well it is a broad question and are seeking broad comment on multiple viable approaches.


"How do I convert a JSON object to CSV?" is a common broad question I see all the time. There is no standard conversion because they are completely different data structures.


And yet, answers with demonstrations of the many ways to do so are extremely useful! Sometimes I think the side of this debate you land on is something of a personality test: do you seek order above all else or do you embrace and try to grapple with chaos?


Such a question is best addressed in a personalized way, starting from what capabilities the asker has and what they are trying to accomplish. Offering multiple viable technical solutions to a person who asks such a question is quite likely to leave them confused and adrift as most of the answers are not comprehended.

So, you're absolutely correct. Demonstrations of the many ways to do so are extremely useful to many people! It is, however, highly likely that few - if any - will be useful to the person asking the question.

You're very right - this is a personality test. Do you try to jump directly to trying to answer an apparently-simple question, or do you cautiously consider if the simple question hides complex depths (deeply nested structures, arrays of variable length, etc.) that make a simple and straightforward answer difficult?


The thing is: many times the question is harder than the answer. If only we could phrase the question right, then the answer is actually the easy part.


This has been a big part of my experience.

I think the last 3 times I've gone to SO to write a question I spend an hour finding the right code samples, explaining what the problem is and why I need to solve it. Why I've chosen this route and after all that has been put down on the page I see what the real issue is and solve it before its even submitted.

It's almost become another tool to use, "How would I structure this problem if I needed help from the community?" It forces you to think through the problem into the route cause, almost like debugging your thoughts and removing the bloat


Leaving a comment is more than enough. Question/answers that are ridiculous and "don't contribute" tend to disappear into the bowels of the internet anyway. There's no reason to force it away when it will disappear naturally.


Yes, sir, you're definitely part of the problem. No other way to put it :)


I don't necessarily agree with the logic, but SO's "topic" is software development. Many questions that are technical but not regarding software are closed for being off topic. Some/many are migrated to sibling stackexchange sites. Some questions are closed because they require opinion-based answers ("What's the best ...?", e.g.).


What's kind of interesting is a lot of the target SO questions are implicitly opinion-based. For any "How do you do X" there might be multiple ways to do it so the question is actually "what's the best way to do X" which is up for anyone to interpret "best". And this tends to work out nicely, you'll often see multiple answers where the top upvoted one is not the selected one, or some answers build off of other ones and describe why they think it needed updating. This kind of nuance and seeing multiple, competing answers is often pretty helpful while you're learning.

Plus some of the best, most interesting questions on there are "community wikis" which often tell you they should have been flagged as opinion based but are preserved for historical significance.

Because of that I really don't see the point in being so dogmatic about closing opinion based questions. Even something like "emacs or vim" I can imaging being a useful question, with a highly upvoted, thought provoking answer arguing each side.


The historical significance thing is particularly annoying. It's an explicit statement of "We want this type of content, but the system of rules that we created and can change any time we like does not allow this type of content, and what do you mean, 'that seems like something we should do something about'?"


"how to do X" has an objective answer: "here's how". Whether it is "the best" is subjective. That is why multiple answers are allowed on Stack Overflow (instead of a single article as on Wikipedia modulo different languages).

The accepted tick on the answer says that "here's how" might have worked for the question author.

The most upvoted/popular answer works as a rule (there are exceptions). Popularity contest is not the best way to get the truth on a technical subject but it works more often than not (you can read the answer in the chronological order if you like).


> Some questions are closed because they require opinion-based answers ("What's the best ...?", e.g.).

The problem with this is that there are opinions and preferences and biases (and so on) hiding all throughout even the most (seemingly) objective questions and answers. The SO folks think they're making a more meaningful distinction here than they actually are.


Not to mention "what's the best <X> library" can frequently be answered in an objective fashion, if the answers give a breakdown of why.

Things like "lib A requires excessive boilerplate compared to lib B, see example", or "lib A can't be installed under the following platforms", etc. What should be voted down on those types of questions isn't the question, but poor answers.

It's really frustrating, because getting the opinion of experts who have tried a bunch of alternatives, and know the pros and cons that matter, is exactly why I go to SO frequently.


What's stopping them setting up an opinions.stackoverflow then if they've already got sibling sites? Somewhere to contain all of the opinion-based questions.


They do have some. For example the Software Recommendations Stack Exchange:

http://softwarerecs.stackexchange.com


Exactly. Double frustration if it was the first return from google.


That's the only way visit SO. It's double frustration all the time.


The duplicate thread thing is the most common annoyance I have with it. Feels like the people moderating are not fully understanding what they're reading/not reading the whole thing.


That's certainly possible in many cases. But it's so terribly common for duplicates to show up on SO that many folks have itchy trigger fingers. :/


> and find that the other question is completely unrelated.

Did you take advantage of this opportunity to comment or flag the answer for moderation? If a question has been inappropriately marked as duplicate, that's something that the community should be aware of, and SO has methods for doing so.


> Not only can I not find the answer from SO at this point, but if I find the answer on my own I can't even help others.

If you want to helps others; post an answer, a comment (if it is a minor correction to an existing answer).

If you can't post an answer or if the question is not the exact duplicate; ask a new question:

- describe your specific problem

- link to the duplicate (the back link is created automatically but you can also add a comment under the duplicate question explicitly if you'd like)

- describe how it is different, how exactly existing answers have failed for you (what behaviour did you expect; what did you get instead, step by step)

If you follow https://stackoverflow.com/help/mcve then your question will be better than most questions already (and even if it might be closed as a duplicate; it would attract additional attention—if the question is the exact duplicate you could also create a bounty: it is unlikely to help with difficult questions but it would also attract some attention).


Just add code highlighting if your edit falls short. It's like 20 bytes.

<!-- language: lang-js -->


> I didn't want to make random changes elsewhere just to make the minimum needed to fix it, so I let it be.

Instead of just adding "I fixed a small code bug but SO has a minimum edit length, so here it is" to the end of the answer?

s/newpoint/new point()/g may not be obvious to the next person.


It really depends on what language you are asking about. Stackoverflow has subcommunities.

Some niche frameworks have great helpful communities

While the general Javascript community there hates questions that aren't formatted a very particular way


I taught myself to code using SO in just the last two years. I reference it almost daily. I've shipped production software in this time span using the information. I can't believe such a high quality source of information exists on the internet, it is a phenomenal public resource. Difficult to contribute to? Sure. Prickly moderators, who close questions I've found very useful? Definitely. Is it dying? I have no idea, I hope not. The creators of the site deserve some kind of medal, in addition to whatever valuation the company has. Really an incredible resource.


I wonder if these days SO could move to a revenue model of just asking software companies for money. The entire community certainly owes them a debt for how much they've streamlined working with unfamiliar tools.

"We make all of your programmers 50% more efficient, kick us a little cash to keep us running smoothly."


As others have said, the first objective of stackoverflow was to destroy expertexchange, which it has succeeded admirably at. Finding answers through search engines is now far easier.

I've posted very rarely on the software stackexchange, but I've been very active on the electronics stackexchange to the extent that I'm in the top 2% and rank #28. It has very aggressive moderation of 'bad' questions, and I sometimes wish there was somewhere chattier and less fussy we could gently steer the less well formed questions to. It does feel bad when someone asks a question and gets the door slammed in their face. But on the other hand there are a lot of repetitive 'bad' questions from people who've not yet understood what a resistor is.

Remember it's been gamified, so we might as well treat it as a game. Consider the motivation of the question-answerers.

(I also opportunistically karma-snipe the "hot network questions", so I have 1.4k rep on math.stackexchange from only two answers)


Top 2% here - I have used Stackoverflow this way for years. It has saved me hundreds of hours of searching over the years and still does. One thing I'd add is I try to leave a thank you comment in addition to an upvote when I find an answer to a hard question. Getting comments years later thanking you for a quick answer you jotted down at some point is so satisfying.


Ironically, leaving a "thank you" will typically get deletions/nags from the self-appointed comment police.

As much as I like (and heavily use) SO, it has a real problem with making people feel like shit when asking, answering and commenting.

There are people who are exemplary in their politeness and helpfulness like the top-contributor, John Skeet. There are also quite "mean" people like Hans Passant (also super-high score). I wish more people would use the really fantastic users like Skeet as an example of how to behave.

"Game-ification" strategies in social networks like SO tends to attract uncharitable, persnickety rule-zealots and this seems to have been re-enforced over the years.


Honestly, I am in the camp in favor of deleting "thank you" comments. I view the whole platform as a fantastic way to curate high-quality content for the whole web community. I don't come to Stack Overflow to socialize or make friends, I come because I'm trying to get my widget to work and I just want to find the solution to my problem.

While expressing thanks is definitely an admirable human quality and should be lauded, it frankly does not provide value to the other people viewing the page. Part of the problem, I think, is because "comments" on Stack Overflow have a different meaning and context than 99% of the web. They don't exist for some sort of "social" experience, but as a means of coordinating improvement to the content.

Maybe SO could do better to communicate that difference. Educating new users is one of the biggest challenges in the face of the eternal September that SO receives.


Regardless of their intended purpose according to the SO FAQ, the comments in Stackoverflow are often the most interesting part of a question or answer. They do more than coordinate improvement to the attached question/answer. The comments often provide valuable context, point to other resources, and can offer some opinion.

I agree that a comment consisting of nothing more than "thank you" isn't particularly helpful, but a "thank you" + some twist or application tip is interesting and valuable. Sadly, some SO-cops just see the words "thank you", ignore the rest of comment and then immediately recite the rules and/or delete the comment.

As for SO communicating the difference, I think they already do. Their problem is that people like me _deliberately_ ignore "the rules" and post whatever we think is appropriate-- the mods just can't keep up.


> some SO-cops just see the words "thank you", ignore the rest of comment and then immediately recite the rules and/or delete the comment

If that happens, then the mod is out of line. But what can SO do to prevent that behaviour? If you have ideas I'm sure the community on Meta would be more than happy to entertain suggestions, that's how the platform evolves and grows.


The "comment police" bit is an interesting observation - much of the really petty hostility seems to come from mid-tier power users instead of mods and high-level contributors. I think the article here undervalues how unpleasant it is for a new programmer to get even a single response of "Seriously? Marking for deletion."

Those comments might get removed later, but saying "trolls are everywhere" is too pat when the people abusing new users are very visibly established, popular members of the community. Getting attacked by a random throwaway account is a very different feeling than getting attacked by someone up near the top of the totem pole.


SO mod on comments:

"You should expect comments to get deleted.

If they are oh-so-important, they should get rolled into the post they are commenting on. At which point they are obsolete."

http://meta.stackoverflow.com/a/255140/592746

So, your problem, clearly, is that you think your "thank you" is "oh so important." If your ego wasn't so big, you'd get that.


Just pointing out that one of the things the parent says gives him joy on stack-overflow is actually "not allowed".

I don't have "a problem".

I use stackoverflow quite productively, appreciate its utility, and help folks out with answers when I can. I've gotten acclimated to the rudeness but I wish it were a nicer place.... more skeet less passant.


I was sarcastically criticizing the SO mod's comment, not actually claiming you have a problem.

[Edited for snarkiness.]


oops, sorry!


I have a question about nodejs from 2011 that still gets comments and upvotes regularly.

One of my favorite parts I think is the fact that the correct answer changed over time, so I continued to update the question.

At first the answer to "how to read a file one line at a time" was to use a module, later, a better module came along, eventually nodejs finally added native support for file reading.

I had an "annual update" going for a while since the correct answer changed to often.

Eventually someone came along and completely rewrote my question. Wiped all the history, evolution, etc... And boiled it down to "use native"

I was saddened a little, but understood.

I find a number of stack overflow rules/guidelines to be odd. For example: 'do not say "thanks" or "hello" people reading your question do not have time for that's [sic]

It's definitely a community which has been usurped by the aspie side of programming

That said, I still get thanks on it and it makes me smile when I do


Concur. I remember the days prior to Stackoverflow (where the average search for a programming question landed me on expertsexchange).

They were not good days.


Agreed. This related to the misconception that "little or no activity on an open source project means that it's dead." That statement is frequently true, but not always.

If most of the common questions have been answered, then there will obviously be a correlated decline in the number of questions posted and subsequently answers posted. Esoteric questions aren't abundant, especially over a constant time frame.

Declining question/answer activity shows that the website is healthy. I've opened S/O a few times over the past year with the intention to answer questions, only to find duplicate/off-topic/low-effort/etc. questions.


Stackoverflow can be thought of a big cache for programming problems. A hit is a +1 on question/answer and walk away with the answer. A miss is when you have to find the answer someplace else (or figure it out yourself), then you make the cache bigger.


I've earned "Necromancer" about a dozen times and I don't think it's a coincidence that they're some of the answers I'm most pleased with. I don't even bother answering old questions unless I think there's a clear gap in the existing answers that I can help fill.


Do you normally answer older questions that have already been answered, or newer questions with a few sub-optimal answers?

I find that most older questions have pretty useful answers so I can't really improve upon them.


P.S. for SO devs, how about an "Advanced Necromancer" gold badge? 1 year and 10 points rather than 60 days and 5 points for the current silver?


Could we get away with calling it "Lich King", ya think?


Stackoverflow is a good language resource for me -- if I don't know the language I'm working in as well yet, it's invaluable. For non-beginner questions I don't find your percentages to be accurate, apologies. In the latter case SO (and hell sometimes even googling the problem) are unhelpful, and whatever is on SO that is related isn't applicable enough to be helpful. In these cases sometimes I find myself asking SO questions, but more often than not after about ten minutes of searching I go offline in my quest and find a senior+ engineer who has a free moment to ask.


It beats having to use the man pages 100% of the time, which is how I had to do it before the web had accessible technical content.


All the "works for me" answers like yours and the articles are just another example of what's wrong with SO.

I was tempted to qualify this more, but honestly, if you can't see why "works for me" is one of the worst kinds of answers you can give in tech, then i doubt i can convince you.


A common theme for new users I've noticed is questions regarding a code snippet. The question claims the code doesn't work - that it throws or produces an incorrect result. However, the code is completely correct.

How else can you respond, other than saying "the code seems to be correct, and there's not enough to reproduce the problem here. can you provide more information?"


That is honestly a completely different kind of answer, that imo is perfectly fine. Although, it should come as a comment first, not an answer, but deserves promotion to answer if no further info is given.

The difference between your phrasing, and a blunt "works for me" is that you actually bother to inquire further and don't desire to just shut things down so you can move on to the next question and make more points.


Of course there are "works for me" answers. There are so many different setups out there. Just between chrome and IE for example. "This works for me on most browsers, but I don't know what the answer is for IE" is perfectly valid.


Sorry, I fail to see that. Works for me works great for me ninety percent of the time.


When a person says, "I'm having a problem" and the response is, "Well I'm not having any problem, buh-bye!" it in effect says "I don't care that you have a problem."

Often the real problem for novices is that they don't know enough to ask the right question; good questions require that you already be pretty close to the answer. So the real process of helping somebody with technology often begins by turning a bad question into a good question.

So basically, I think "works for me" is disrespectful. Mostly I see it used defensively; the goal is to make the querent go away again. If somebody doesn't want to help, fine, I respect that. But in that case, they should not put themselves into a position where they are answering questions from novices.


>When a person says, "I'm having a problem" and the response is, "Well I'm not having any problem, buh-bye!" it in effect says "I don't care that you have a problem."

What a bizarre interpretation. When someone says, "It works for me," they're saying "I tried your example because I want to help, but was unable to reproduce your problem. Maybe there's some information you didn't provide that can explain the difference between what I'm seeing and what you're seeing? Please add more information so I can understand what's different and help you."


That may be what you're thinking. But it's often not how it comes across, especially when it's the totality of the reply. If you want to say the rest of that, I'd suggest you actually try saying the rest of that.


Ninety percent of the time it works every time!

(Jokes on HN fail about 90% of the time, which is a shame because yours is subtle and has been missed)


Exactly what I do. Exactly what happens to me. I am a serious Necromancer.


Exactly. And that's good enough. The question whether contributors "are welcome" is less relevant now than it was 5 years ago. But I think they still are.


SO is another area where I feel "out of sync" with the rest of the "programming world", in that I've...

* ...never posted a question to SO (because I've never found it either necessary or helpful to do so),

* ...only ever "copy-pasted" from SO once (it was a CSS polyfill for iOS having broken "support" for vh/vw)

* ...only attempted to answer questions on SO twice, exclusively out of a feeling of "am I missing something?"

I've been programming for 16 years, and doing so professionally for 7 of those. I've always seen StackOverflow as like a worse version of MDN or something: obscure API-specific stuff that should be in documentation for libXYZ or XYZService but for some reason isn't, with answers supplied by random internet people and "graded" by other, less-knowledgeable random internet people.

For more advanced stuff (like "what are higher-kinded types" or "how do monads help simplify concurrency"), online articles, tutorials, or IRC channels have always been a sufficient supplement to just trying stuff myself.

I must be missing something, given the "reverence" SO seems to get.


Your two advanced questions are answered on SO:

http://stackoverflow.com/questions/6246719/what-is-a-higher-...

http://stackoverflow.com/questions/27190934/implementation-f...

These are only two questions of many on these topics.


One thing I love about SO: that second question has only seen ~20 votes, but it still has a detailed and thoughtful response to a subtle question. I'm constantly impressed by how niche a topic can be and still get a really solid answer.


> I must be missing something, given the "reverence" SO seems to get.

I suspect that the part that you are "missing" has to do with the following belief:

> answers supplied by random internet people and "graded" by other, less-knowledgeable random internet people

You've inherently discounted the quality of content on the site, so it's no wonder you find nothing valuable there. The fact is that "crowd sourcing" actually can work, and "random internet people" are able to curate and raise visibility of quality content.

I think Stack Overflow is one of the best examples of this. Despite being inundated with terrible content, the system is able to consistently identify quality and float it to the top while mostly keeping the trash out of sight.


I have the same feeling. The official docs, experts' websites, code from relevant projects, and books are always better than getting a quick answer from SO. Sometimes when I've exhausted my available resources (often the case is that I don't have the necessary book), I'll click on an SO link... only to find that the question is closed because it's not a bite-sized chunk that fits the SO format.


I think this depends a lot on how good the "official" docs are. For some topics (like a depressing amount of Android stuff), the official resources are unclear, out of date, or fundamentally wrong. If the official API is just a list of functions and parameters, Stack Overflow is a great place to find out about hidden side effects and other issues.

For me, Stack Overflow helps to bridge the gap between crummy official documentation and how tools actually work.


I was thinking about that when I wrote my comment, but decided to only include my own experiences. I think you're right / what you say makes sense, though. Particularly for popular and fast moving projects (like everything web related), a lot of people are going to run into the same problems, and either the documentation is poor/doesn't exist, or they don't have the time to learn X the hard way.


I must be missing something, given the "reverence" SO seems to get.

You have bit of experience, Stack Overflow's usefulness applies mostly for novices. See the people who said they learned to program with SO in this thread, or otherwise find the material there useful. They're the target userbase, not you.

I suspect the audience is not limited on purpose. The work required to answer questions, and incentive system seems to select for questions that are already google-able but the person asking just doesn't have enough domain knowledge to productively google for that answer.

The only time I get a useful stack overflow google result is when I've jumped headfirst into an area outside my skillset and need to do a common operation but the toolset doesn't make obvious. The kind of questions where I'd be desperate enough to ask SO are either complicated and - at best - get "don't do it like that" answers. Or I'm looking to better understand the technical considerations going into a design decision, which is too opinion-based (or whatever SO calls it) to be asked.


> Stack Overflow's usefulness applies mostly for novices

I can understand this belief in that the most prominent content on the site is that which gets the most upvotes, and by statistical necessity the number of novices voting must be greater than the number of experts voting.

But when you get into the niche topics or tags, that's when the expertise really comes through. Try browsing the [scala] or [haskell] tags, they may not have a giant community, but the general level of both questions and answers hardly fits your generalization of "novice".

If we were just talking about the "hot questions" of the month (http://stackoverflow.com/?tab=month) I could understand why it would seem the site is mostly useful for novices, but there is definitely a place for expertise in the community as well.


It probably depends on the type of coding your doing, and your style of problem solving.

I've experienced a massive boost in productivity using StackOverflow to help resolve the sorts of issues that are too big to appear in the docs and too small to have a whole blog post. But perhaps it has something to do with the sort of software I work on that I happen to run into a lot of problems in that sweet spot.


What is wrong with getting answers from "random internet people". I've actually looked into some StackOverflow users and some of them are pretty accomplished software engineers in their own right.


I must be missing something, given the "reverence" SO seems to get.

I don't think you are.

Stack Overflow was an interesting idea, but I find it has a terrible signal/noise ratio today and one of the most unpleasant and unconstructive cultures of any tech discussion site, for basically the same reasons that many other comments here have already given.

The way they chose to co-opt search engines was also a brilliant move by the founders, but has also now become annoying to the point where I'd have the entire SO network removed from my search results pages by default if I could.


What would you prefer be returned instead? Places like Expertsexchange or Quora?


No, they are usually even worse. What I would prefer to see is whichever search results organically rise to the top excluding the huge but more-hype-than-substance sites by default. I often find there is real expert commentary via official docs, blog posts, archived mailing lists, presentations at conferences, and so on, sitting just underneath all those SO links that clog up the first results page.


This has pretty much always been true in my experience; if you're really determined to learn something in depth, you gotta go past page 1 of the search results and look for the folks who've spent years writing about some obscure topic and only get links from other people who are similarly dedicated.

And then hope their blog doesn't disappear from the 'Net before you finish digesting or need to refer back to that information. Buy their book if they have one.

The founding goal of Stack Overflow was literally "programmers seem to have stopped reading books"[1]. NOT "programmers shouldn't read books", or "book learnin' is inferior to superficial familiarity", but simply... "they appear to have stopped". There are probably a lot of reasons for the tendency folks seem to have of not investing effort into building a deep understanding of the things they're working with... But ultimately, it doesn't really matter: either you provide information in bit-sized chunks, or someone else will and you lose the ability to influence the quality of that information. Not the choice we'd like, but the choice we have.

Disclaimer: SO user since '08, employee since '11.

[1] http://www.joelonsoftware.com/items/2008/04/16.html


It's always been true to some extent, but I think it's SO that changed relatively recently, not the rest of the web.

In the earlier days of SO, it used to be that a search engine might return an SO link or two but they had a decent chance of being relevant. At that time, SO was smaller, the questions being asked were more common and general, and thus the answers were mostly correct and widely applicable.

Today, unfortunately, my usual experience is that there might be as many as 4-5 SO questions turning up on the first results page for a programming-related search, yet none of them is actually relevant. Some will probably already be closed with some hostile and quite possibly incorrect status. Some are effectively keyword stuffing and not actually relevant to what I was looking for, but don't get penalised as such by the search engines because SO as a whole is so well established. Particularly irritating, it's no longer rare to find that a question shows up that is relevant but either it has no answer or it has nothing but wrong or misleading answers (which may well have been voted up or accepted anyway).

It's not providing information in bite-sized chunks that's the problem, it's providing irrelevant, incorrect or out-of-date information, or attracting attention but then providing no information at all.


Funny you mentioned "keyword stuffing"... Came across a related sub-thread on reddit earlier today [1], where a bunch of folks were trash-talking one of the top answerers in the [java] tags for his efforts in marking duplicates and removing irrelevant tags.

There is an insane amount of hostility directed toward anyone trying to minimize the noise Stack Overflow generates, I'm afraid. Folks feel entitled to spam the whole site - indeed, the whole Internet - with their questions, and take umbrage at anyone who might stand in their way.

So a lot of folks are left feeling that their choice is between trying to help and getting blasted with vitriol, or just walking away and letting entropy win. I find it hard to blame those who opt for the latter route.

We do try to combat this to a degree by deleting unanswered or poorly-received questions after some nominal period of time; of course, given search engines' fascination with boosting the rank of recent content, this can only help so much - there are several thousand new questions a day in the most popular (and thus crowded) tags, where you can imagine the inherent motivation on the part of each author is to optimize for views rather than specificity or clarity.

[1] https://www.reddit.com/r/programming/comments/54f62f/the_dec...


So a lot of folks are left feeling that their choice is between trying to help and getting blasted with vitriol, or just walking away and letting entropy win. I find it hard to blame those who opt for the latter route.

As do I. In fact, I empathise with them, because I've been a high profile contributor to discussion/support forums at various points in the past. I've seen firsthand how the culture in each forum makes a huge difference to how motivated you are to continue helping out there.

Unfortunately, while that might explain my original observations about the poor signal/noise ratio and problems with effectively spamming search engines that SO has today, it doesn't make those observations any less accurate.

The only way I see this improving now is if those running the SO network intervene directly, first by encouraging a more constructive approach and being clear with high-ranking contributors on what that involves, and then if necessary by starting to reduce the privileges of those who don't play along regardless of their score in the game and ultimately, if necessary, kicking the bad apples off the system entirely.


I don't think you are missing anything.

I also have never asked anything on SO, and never used SO as a reference. SO only seems to work for factual simple answers that are found in the documentation or manual pages.

For higher level discussion SO is not appropriate; mailing lists and IRC work best for that.

I suspect most people don't like reading reference material so asking random stuff on SO works for them


> I suspect most people don't like reading reference material so asking random stuff on SO works for them

This is probably true.

I'm not a Windows developer and on a recent project I had to use their IDE (which turns out to quite nice, if you are an IDE person) and a set of their APIs. I read, but did not understand, some pretty fundamental/basic MS-authored documentation. I found a few answers to questions related to other people not understanding it either, and was on my way again.

To be fair to MS, it was documented, completely and accurately. I just wasn't accustomed to some of their calling conventions and was getting yelled at by the linker.

EDIT: Outside of embedded systems, where there are a lot fewer moving parts than on your typical MS OS box, it's been a while (20 years?) since I was thrown at an environment where everything changed from what I am accustomed to. OS. Language. CPU architecture target. IDE. IDE configuration for project build. Build process. SDKs. Calling convention. Oh, and the 2M line code-base that I had just been introduced to (and where none of the MS Visual Studio project files had been checked into version control - so I'm fumbling in the dark there). Googling for the error message and landing on SO at least gets you to the point that you know you have a configuration problem vs a calling convention problem. That tells you where you need to start looking in the documentation.


One of the weird things about MS documentation is how slow MSDN is. It's often faster to find the answer through Google->Stackoverflow than it is starting at the top and drilling down MSDN.


Now that you mention it, I've noticed that. The pages seem to load quickly enough, but take a while to appear. I might be some funky client-side JS rendering "stuff". It reminds me of how a lot of material design web-component/apps take forever to change after you "load" or "click" (for example).


I think there is definitely something to what you're saying. Reading API documentation is in itself a skill - when you're starting out, a lot of times you don't even know the right question to ask that would be covered in API documentation.

Instead, you ask the wrong question on SO and end up getting the right answer because you have other humans that are able to interpret it.

As you get better, you begin to understand what the right question is and how to use the actual reference material provided to you.


> I suspect most people don't like reading reference material so asking random stuff on SO works for them

That's a dismissive way of framing it. There's nothing anti-intellectual or lazy about using the tool that will most efficiently retrieve the information you're looking for. If I'm faced with a non-esoteric problem that I don't immediately know the solution for, I'd much rather spend 5 seconds Googling it and being brought to a highly relevant Stack Overflow answer that addresses my specific problem than having to find my way through a poorly-searchable manual.


I would love to use stackoverflow actively, but wasn't very successful so far.

It's great to use as a passive user. It's a great encyclopedia. But all my attempts to ask questions were unsuccessful.

I posted 3 questions where I did not receive any answers or clues at all. The questions seem to have a lot of views, so I tried to answer them myself later (in cases I found one). Which is ok, but makes it like an encyclopedia.

On two other occasions I needed help to figure out which way to attack a problem (which systems to use). I wrote a detailed description of my data, use case, restrictions, etc. Both questions were heavily downvoted as they're too subjective and not specific enough. Apart from downvotes I received some unhelpful spam so that I deleted the questions after a while. Luckily, I got more helpful answers on Reddit.

I understand that SO wants to keep discussions on topic, but why can't I ask questions about how to implement a problem, or which design to use best for a given data set?

So the problem is, I cannot use it for too specific questions (often receive no answer) but also not for too general ones (receive downvotes as being too subjective). Everything in the middle is covered already.

Some communities in the network seem to handle that much better, GIS for example has been a great help to me (as they allow open questions).


"But all my attempts to ask questions were unsuccessful."

Sure. But all the times you had questions that were answered on stackoverflow even before you asked them on Google, you were successful.

And by answering your own questions on SO you're helping out the next guy.

Post your question hoping you'll get an answer, but recognizing that you probably won't, and that you'll probably come back 24 hours later and post an answer to your own question.

You will accumulate karma for these, slowly but steadily. But more importantly, you're helping out those who follow.


Yes, answering questions is great, I totally agree with that. But I would love if SO could allow more open questions as well. I'm not a huge fan of Reddit, but it seems the only place where I can ask those questions (plus some IRC channels perhaps).


Go is the first language I learned from the docs alone and from reddit. Never once did I go to SO. I even wrote an introductory book on it, and wrote one or two answers for Go questions. never had to refer SO. doesn't imply that I think SO is declining.


Go just has an amazing documentation. Especially the fact that it links directly to the source code helps a lot. IMO way better than what Java or C# offer as an official documentation (just to name the two where I struggled the most).


True that.


At this point in time SO is not the place for that. But that kind of question is more in line of their sister sites like code review, and programming.


I'm curious -- could you share links to your questions?


Unfortunately not, I deleted them after they were continuing to accumulate negative points.


I’m the author of the article "The Decline of Stack Overflow". I initially published it in July 2015, when it got ±65,000 views in two days. I republished it @ Hackernoon this weekend at their request, which resulted in ±125,000 additional page views, bringing the total page views of the article since its publication in 2015 to ±245,000. The fact that this article went viral TWICE (while none of my other articles even got to 5000 views) illustrates how many people experience the same frustrations.

On SO, I currently have 11,914 rep, 9 gold badges, 66 silver badges and 73 bronze badges. I’ve posted 492 answers and 6 questions (that haven’t been deleted). I’ve been programming since 1999 and I’ve worked as an IT professional since 2006, and my experience ranges from PHP and JS to SAP and PL/SQL. I also released my own open source frontend framework and several other open source projects on Github. So I know how to program and understand many of SO’s intricate workings!

Those rare times I’m stuck on a programming issue, I find it impossible to find any useful answer on SO. My questions either get no answers at all or downvoted and/or closed (for arbitrary reasons) by people who clearly lack the experience to even remotely understand what I’m talking about.

During my time on SO, I’ve been bullied by 20+k users several times and even got a temporary ban by one of them moderators for no other reason but pointing out that another user was acting like “a little Hitler”… in a private conversation with moderation.

Yes, other communities have similar problems, but never have I been a member of a community where bullying and trolling was so common among the most privileged segments of its membership.

Considering the popularity of my article, I’m considering writing a follow-up and go in greater detail on my experiences with SO and how SO could be improved.

However, I’m quite busy these days, so it may take a while before it actually gets published… if it ever gets published.

Nevertheless, these are my 5 cents I’d like to add here…


> Yes, other communities have similar problems, but never have I been a member of a community where bullying and trolling was so common among the most privileged segments of its membership.

This strikes me as a key point that went unaddressed in the reply article. Yes, trolling is a standard feature of the internet. Yes, ignoring it is the right thing to do. But most places, trolling means an anonymous or throwaway account was rude, and will probably be removed/downvoted on any moderated site.

On Stack Overflow, we're frequently talking about reputable power users mocking novices, and being rewarded for that behavior. When a novice programmer shows up and is promptly insulted by someone with a decade more experience, something has gone terribly wrong.

Obviously something has to be done to help control the tide of "fix my voodoo code" posts that come through, but right now the 'cure' is largely insulting non-answers from major users. That's a terrible, antisocial way to address the problem.


> The fact that this article went viral TWICE (while none of my other articles even got to 5000 views) illustrates how many people experience the same frustrations.

I disagree. Many people simply view an article to understand the author's opinion (my case). IMO the "new user" experience on StackOverflow really depends on the topic addressed.

Maybe that's just programmer personality speaking, I wish someone would do a study on the traits of programmers depending on their language / line of work...


Taking article views as acceptance for the article's viewpoints is quite the fallacy. That headline alone will generate many thousands of views because people are curious, not because they agree -- this is a problem with the internet as a whole these days, so many people have news and topics filtered and curated to their own beliefs, they are unaware that they are living in their own "filter bubble" and thus we assume if I click on article a it means I like article a, so news algorithm xyz will proceed to show me more like a.

I've read the article. It has some legitimate claims, I've even experienced some of them, but I am not so thin-skinned as some people are about internet points, and these issues aren't exclusive to StackOverflow. They are gripes about internet behavior, and human behavior as a whole. It all has to be taken into context, as many point out, the situation was much worse before Stack Overflow.

In the article,

> Quora might seem like an obvious choice, but it shares many of the issues common at Stack Overflow,

Exactly. You can take Stackoverflow and substitute Quora, or reddit in some cases and get the same exact situations described. It's a people problem. Anything led by a curated community of imaginary points will naturally produce elitist behavior. Heck you have this problem in real life (opposed to virtual life) in Academia, a.k.a the "academic elite," what makes you think it is going to be any different on the internet?


I've been getting the same vibe but have nowhere near the amount of experience in the industry as you.

Many times I've seen other users link answers from a previously asked question to a newly asked question, so I thought I was allowed to do the same....

Nope! Someone told me I was "plagiarizing" (I had clearly linked the old post and quoted the text containing the answer) and shortly after I had a moderator in the thread talking to me...

Later that day I got a message from a different moderator about the same issue to which I replied, but it's been a few days and still no reply...

Many of the down-votes my answers receive are from users who incorrectly answered the OP's question, but they still negatively impact me considering I only have ~35 rep at this point.


The big issue here is that you're identifying duplicate questions (which is helpful!) but don't have the reputation yet to mark them as duplicates. So you have answers that are essentially calling them out as duplicates, but won't help them get marked as such.

That's... A hard problem. On the one hand, it'd be nice if we could just lower the reputation needed to flag things as duplicates... on the other, there's a real risk of abuse there if folks who aren't yet familiar with how things work go around flagging things and annoying askers: there are a lot of new questions that are similar to existing questions, but have subtle differences that a cursory examination may not pick up.

An idea that's been tossed around for a few years is to enable folks to essentially post "this is a duplicate" answers that do nothing but link and summarize another answer... If they get upvoted / accepted, the question is a duplicate; if they get downvoted, it's not. There are some potential pitfalls there too, of course.

In the meantime, my best advice would be to summarize the answers you're linking to, and spend at least a sentence or two explaining how they relate to the question you're answering... Then include a link as your source. Not only does this avoid problems when the question isn't a duplicate, it doesn't make it look like you're just trying to ride the coattails of someone else (which tends to inspire negative reactions in people even when the answer is helpful).

More advice here: http://stackoverflow.com/help/referencing


I never even STARTED contributing to Stack Overflow, because of the high barrier to entry for new users. Since now you essentially can't post a question without answering several yourself, I didn't bother asking questions about certain thorny technical issues. I tried a couple of times, ran into the barrier, and gave up. Maybe some of these could have been the kind of thought-provoking questions that the blog post's author would have enjoyed. Who knows how many other would-be Stack Overflow users have had a similar experience. Could Stack Overflow be cutting off its own long tail by having such restrictive barriers to entry for casual, minor would-be contributors like myself?

Fortunately, many of the questions I've needed help with have already asked and answered by others on S.O. But I've had to find help for my more exotic questions elsewhere.


I don't know if you were being hyperbolic but asking a question requires no previous community engagement. There is no barrier to entry.

This is part of the issue with SO though in that so many people ask questions without trying to figure things out for themselves or because it is their first time asking a question on the internet they have a very hard time with it. Veteran users are frustrated by new user's attitude and new user's attitude is often that they are asking a question because they are hitting a wall. They've stalled out on their task and are frustrated and the question they end up posting shows this. It will lack context, enough information to reproduce, be an XY problem or some issue like that. These questions are either difficult or impossible to answer. Making them stop is a very hard problem, unfortunately.


No, I was not being hyperbolic. When I tried asking a question, the site told me I had to answer a number of other people's questions first (or something along those lines) before I could post my question. It happened on a couple of separate occasions, and then I just stopped trying. Maybe they've removed this restriction since then, but it was sure annoying (and discouraging).


I don't quite agree as someone with few points on StackOverflow the mods can be quite hostile and inflexible when it comes to the rules.

For instance I found a browser bug in the code submitted on a stack overflow answer [1] and I edited it and it got rejected because it wasn't in the spirit of what the original author intended or something like that.

I also had no way of replying to the rejection motivating what my reasoning was and maybe reinstating it luckily the original author got in touch and fixed it himself later on.

At that point I wasn't even able to comment on the reply since I didn't have enough points so I would ague the barrier to entry is quite high if all you want to do is just fix a few mistakes you spot while using the site.

Also there are multiple communities like Ask Ubuntu, Server Fault each with their own points which means I run into the same problem over and over again even though I have proven myself on anther sister community.

[1](http://stackoverflow.com/questions/12131273/twitter-bootstra...)


> At that point I wasn't even able to comment on the reply

That's the root cause of the problem. Once that's fixed, I think commenting is better than editing the answer.

As a mod I often can't know - having no time to verify - whether an edit such as yours actually fixes some bug or not. It has nothing to do with being hostile.

I agree that you should be able to simply leave a comment (new users used to have the right to comment once, if that's no longer the case, I find it quite stupid) that points something out, while keeping it clear who states what.

Then if your fix is helpful, the comment gets upvoted, and everybody's happy.

The author of the answer will typically acknowledge it by editing their answer, or risk getting downvotes otherwise (since now it's apparent that the answer isn't fully correct).


> For instance I found a browser bug in the code submitted on a stack overflow answer [1] and I edited it and it got rejected because it wasn't in the spirit of what the original author intended or something like that.

It occurred several times that moderators rejected valid or helpful edits to some of my answers for the same "spirit" reason. However I still got notifications and edited my answer accordingly so the effort of the original contributors was not wasted (but they did not get any credit / karma for it).


I ran into the same problem myself recently. Only in my case the original poster didn't agree with the edit either, since the wording was "obvious to him". He recommended i propose an edit and let mods decide (failed twice already, same reason as for you), or write my own answer (question was locked).

It led me to try and find the mission statement of SO and it only says it wants to be the biggest resource of questions and answers. No word about quality.

I suspect they only care about answer amount as that helps their google rank, and quality doesn't.


They actually give you 101 points on every new site if you're a proven user, which lets you comment.


How many points do you need to be a proven user then?


200


There are three ways to use stackoverflow - ask, answer and lurk.

Asking is hard as the admins are quite intolerant of anything that doesn't abide by the rules, in their opinion. That said, small quick queries, those that would get shot down when posted as questions, are best asked in chat rooms and you will get a useful answer. The notification comes in handy when a chat room question is answered after an extended period of time.

Answering is harder, as questions are usually highly problem specific (due to the rules), mostly particular framework or domain related, and only those who have faced similar issues can make meaningful posts. Often times the multi hundred thousand rep kings can get away with non answers (some even get accepted) in spite of a lesser rep king complaining about that in the comments.

That leaves with lurking. Lurking has benefited me immensely. It seems every problem you have is already answered in like 2010.

The programmers.stackexchange is much better as it allows opinion based, discussion oriented posts although the admins seem to be getting intolerant there lately, which is a bit odd.


To be fair, asking on SO isn't all that difficult. It just requires a little patience, to read and understand the guidelines, and to craft a high quality question. Unfortunately, when someone's blocked on some tricky programming task they've already been banging their head against for hours, it's probably a time when patience is in short supply. But, that patience is often rewarded with a solution.

I'm amused to see programmers.stackexchange get a positive call out, because it used to be the paragon of moderator intolerance. Perhaps that culture has changed for the better.


> To be fair, asking on SO isn't all that difficult. It just requires a little patience, to read and understand the guidelines, and to craft a high quality question.

This is what is troublesome. There are far too many questions with many impassioned comments that suggests they were closed and reopened multiple times. It seems the interpretation of rules is done too stringently and arbitrarily for most people's liking.

> I'm amused to see programmers.stackexchange get a positive call out, because it used to be the paragon of moderator intolerance. Perhaps that culture has changed for the better.

I had a nice run there as a participant compared to stack. Even as a lurker, I don't find that many questions meted out the stack treatment.


I agree, I actually really like that there's a high bar for asking. It makes it more likely someone will be able to fully understand and give a good answer. And I would say probably 50% of the questions I start typing on SO, I actually figure out on my own by the time I've written it. I'll notice that I've glossed over the details of one part so I'll stop to dig in further and sure enough I had been making a bad assumption and fixing it leads to the answer.


> And I would say probably 50% of the questions I start typing on SO, I actually figure out on my own by the time I've written it.

The live search for related Q&As has been particularly useful for me for this. Do I sometimes feel bad I did all that typing first? Sure. But that's vastly outweighed by happiness at getting a solution.


The big problem with programmers.se is that the scope is woefully misunderstood. It started out as that "opinions" site everyone thinks would be such a great idea, and within days it became apparent that the same folks who like discussion questions in theory have their own hangups and prejudices in practice, and the whole thing was turning into a never-ending flame-war.

So by the time it was named "Programmers", the decision was already made to refocus the site on something a bit more useful: a site not about programming but rather dedicated to sharing information relevant to the profession of software development. However, actually communicating that effectively turned out to be a headache and a half.

6 years later, we're looking at just renaming the site again so as to avoid this endlessly painful confusion: http://meta.programmers.stackexchange.com/questions/8204/wha...


I don't agree that asking questions is easy, or limited only by quality barriers. That may be true for adhering to the rules, but it's not enough to get accurate answers.

If you have a problem which is at all subtle or complicated, it's frequently necessary to open by saying "I know about X and Y, that's not what I'm asking!" Otherwise, the fastest guns in the west will see the header, skim a few lines, and answer "Just do X!" Or, of course, mark as trivial because "X" is in the documentation.

I've found a lot of these questions when trying to grapple with broken APIs. Someone will go "I want to do this thing, but the method call to do it is broken in these specific ways", and get answered with "Just use the method call in the API, dummy!" Often, it comes with a downvote and they never get another answer.

You can work around this, I succeeded with "This method call is broken in this way, so how do I work around that?" But it's far from obvious, and it means learning to not just write good questions but preempt systematically bad answers.


> I don't agree that asking questions is easy, or limited only by quality barriers.

I didn't say either of those things, and I don't think either one is true :)

Asking quality questions is a skill, whether that's on SO or elsewhere. I'm just saying it's not rocket science.

Perhaps a better workflow could improve things. Almost like a wizard.


> It seems every problem you have is already answered in like 2010

And that is often a problem, because in 2016 the answer has changed. ;)


I think this is going to be a steadily-growing problem for SO. I already discount old answers of "Not supported, try this framework" because they're often about features which arrived in a later version. Eventually an awful lot of replies are going to be offering deprecated methods or unnecessary workarounds, and I haven't seen a good plan for maintaining quality as that happens.


Yes, especially web front end development. I still get hits from as far back as 2008. I do do a quick read though because some of the experts are decent enough to point out the changes for the current time, either as an update to the answer or a comment.


I've recently began using SO more actively (providing answers).

Most of the questions I've found and tried to answer were duplicates, but since I didn't have enough reputation to mark it as duplicate. (or enough rep to comment on a post to ask for more information on a poorly asked question)

It's fairly depressing to attempt to try to be active on a site like SO when it's setup for failure in the beginning. It's irritating when users with 10k+ reputation can more easily gain reputation by commenting, editing, and "moderating" new questions.

The other issue I have is that for new questions it's more about being first to answer a question rather than what is actually correct.

I also dislike providing answers to new questions, and the OP is a brand new user asking a question and never marks an answer as correct...

I wish it was easier and less frustrating to be active, but I suppose I'll keep trying.


One of my least favorite SO patterns is seeing a top answer with ~150 points that's simply wrong, and then a second or third answer with ~20 points that's actually correct.

For high-profile questions this gets sorted out eventually, but it sometimes persists indefinitely for niche questions, and it's really unfortunate. I know "first mover advantage" is hard to solve (cf. Reddit), but it's a really big deal for SO.


It's frustrating as well when the question that was asked gets answered by me, and I receive a slew of down-votes since I answered it first.

The next few answers are essentially copy/paste of my answers or other answers on the question...but I'm still negatively impacted by the down-votes since I only have ~39 rep and wow has getting started been a pain.


A weird observation: starting with SO is particularly punishing if you come to it as an established programmer.

The karma restrictions don't chafe much if you're a novice who mostly asks questions, and occasionally answers a simple topic they recognize. If you're experienced, you want to give more complex answers, and perhaps comment on other answers that you think are suboptimal. Doing that, you feel the new users restrictions (and the sting of uninformed downvotes) constantly.

50 karma is big, because the option to comment on other people's posts is core to giving relevant answers ("Did you want it to do X, or Y?") and using the site properly.

Honestly, I'd just ask a few questions (if your domain is uncommon enough that they won't be duplicates) and let that karma carry you until the site becomes usable.


Fortunately the only tag I've been following is C#

I try not to ask trivial questions (or things that have already been answered) so, providing answers to things I have a decent grasp of is the next best thing.

I'm still a fairly new programmer (in the industry), so I'm not claiming to know all of the answers, but if the OP didn't take the time to look themselves - then i'll gladly look for them and answer it. Their question just becomes non-unique and will probably be closed by someone with more reputation than me.

Last week I reached I think 52 rep, but the question I answered got closed/deleted so I lost all of that rep.


Huh. Maybe the site has changed in the past 5 years, but when I started - I gave answers on stuff I knew (basic JS, advanced SQL) and asked questions about stuff I didn't know (Obj-C, advanced JS/jQuery, Ruby).


This is still viable, but it's gotten a bit trickier because "closed as duplicate" has slowly become a more common outcome. So it's possible to have the stuff you know well be largely covered, and you lose gained karma if the post with your answer gets deleted.


Do you have an example? Honestly curious.


Of what exactly? The last question I answered got deleted by moderators.


Specifically this:

> ... seeing a top answer with ~150 points that's simply wrong, and then a second or third answer with ~20 points that's actually correct.


I wrote it, I'll see if I can dig up a link later.

The example I was specifically thinking of was asking "I want to do X, the API call is producing bad data, any workarounds?" and getting a highly-upvoted answer of "Just use the API, obviously!" This was Android, with devices mis-reporting their valid camera resolutions via 'getSupportedResolutions()'.

I realize that's not wrong to the same level as "Java Hashmaps are synchronized!", but it's a good example of what I mean. I often see this when the top response just reproduces an error the question was addressing.


Ah the other user wrote that, but I think what he was getting at was...

It's fairly hard to dispute an incorrect answer with a low amount of reputation. I think?


FYI those moderators with 10k+ of rep are not gaining rep any longer for editing questions. You only get that +2 rep bump per edit when you are <1k (or <2k I forget) of rep. And Commenting never gets you any rep.


top 2% here

i can understand the reasoning but i left SO when they broke it into pieces with StackExchange network

i actually enjoyed stuff like code golfs, joke questions (minus endless flow of repetitive xkcd references)

have always been interested in THAT programming part where problem meets consciousness meets technology. spent a lot of time puzzling around questions on design, patterns - more ethereal side of programming

nowadays stuff like that gets quickly eliminated

and more technical questions often gets spammed with shallow bullshit i've already checked couple of times


interestingly I thought that breaking things up helped a lot and that they could do better by continuing that trend..

For me a big part of the problem of SO (as opposed to other SE sites) is that it's too big for the mods to really have much option other than applying blanket rules without exception.

On the smaller sites there seems to be more scope for a more flexible approach to moderation as the question/answer flow is more manageable.

Also I think it lets more people get engaged by feeling to be a key part of a smaller community where on SO their contribution would be very unlikely to be noticed as the site is soo big..


The only problem with the break-up is that it results in the moderations of "not appropriate for this forum" when e.g. you ask about effects of say SSD cloud storaage on your app performance and you're asking on stackoverflow instead of serverfault or soemthing.

And the moderation is not helpful in migrating your question to the other forum either.

One analogy might be if the US were split into 50 states with their own, strict, immigration policies.


it's a trade off

on current trajectory - i suppose it does get cleaner and more focused, better integrated with google and whatnot

but i find contributing unpleasant. and it doesn't attract the greatest minds anymore (<-- ain't talking about me)

when SO appeared - it was like a nuclear explosion in software development field. i remember it was enough to follow some tags i were interested in to easily ride THE bleeding edge without losing all the good legacy bits. blogs, tools, ideas, fun, community sentiment - it had it all


It's easy to nitpick and find fault with Stack Overflow, but it is hard to argue with the results. The site has done something amazing: it has harnessed the wild democracy that is the internet and produced something of great and lasting value to a lot of people.

It didn't do that by being a wild-west open-to-anything community. If that's what you want, go to Reddit. But you'll be hard pressed to find quality content that goes beyond "16 Animal Memes That Speed Up Your PHP And Improve Your Sex Life". It's the structure that allows Stack Overflow to succeed.

Cut the string from the kite and it doesn't fly up to the clouds, it comes streaking down to the ground.


For me the biggest problem with SO is that it's hard to get answers to advanced questions in some areas. Not a lot of people could answer the question in the first place, because it's about some obscure and rarely encountered problem, and these experts are constantly spammed with basic questions from inexperienced programmers. Though it depends on the area you're interested in - I've got almost no answers to advanced Rails-related questions and got pretty good responses to Scala-related stuff I'm interested in (but maybe it's because Scala questions were about more basic stuff)


Yeah, unfortunately looking for advanced Rails answers means sifting through lots of silt: answers that were correct for version X but no longer, answers that avoid the question by doing something else, cargo cult solutions.


That's a good indicator of the quality of the software.

A piece of software is only as good as its documentation and compatibility to itself.


Yea, I asked an advanced Java question and got downvoted -20 with no answers. It was downvoted because it was something you actually had to have understanding of Java and the API. That has been my experience with stackoverflow. Ask a simple question get love. Ask something advance get downvoted and sometimes trolled. So sad people can't just move on if they don't know and answer and have to downvote to make them feel better.


Same thing happened when I wanted to know how to convert private method to public in Ruby. Yeah, that's not what people usually do (and not what they should do) but I really needed to know. The reason was laughable, "unclear question" even though it was perfectly clear what were my intentions.


This is why bounties were invented - not a silver bullet, but might help getting visibility to the question.


I don't think you're looking at it from the right angle. SO is a great resource that's amassed a lot of simple questions. My personally favourite use of it is to find boiler plate code, or to get answers to simple questions in languages I'm not an expert in, but unfortunately get forced to use for whatever reason. The same is true for sysadmining tasks. I'm wearing far too many hats to remember how to change hostname on 4 different operating systems - it's far easier to just google and click the SO link than to read manuals every time I have a simple task.

Additionally, your answer regarding:

> On the other hand, even the simplest questions are not closed just because they are simple. One of my favourite examples is the question whether you need a null check before calling an instanceof. My answer is number 2, with a sarcastic comment that this could be tested in an IDE for a minute. And a very good comment points out that it takes less than that to get the answer on Stackoverflow.

Is particularly bad. "Test in an IDE" is not a valid response when the question pertains to a JVM implementation. Your Sun JVM may be different than my Apache JVM, different than JoeShmoe JVM. A better answer might be to refer to lines in the official JVM specification, and note if there's an ambiguity, and that most implementations follow X, but not necessarily...


I still use SO every day, and also have enough rep to be an editor, and I don't think it's in decline. But I have also stopped answering to questions. Mostly because the race to be the first to answer easy questions to get rep stopped being fun very early on, and there are only a few interesting questions among all the "do my homework for me" and barely comprehensible questions.

As for editing, editors come in all shape and form, and let's be honest, developers can often be opinionated so and so's who can spend hours debating tabs vs. spaces. I think the moderating reflects what we are as a community, I'm afraid. For example, I always reject any edit that only changes the format of the code because I find it a complete waste of time. I am sure there are other mods who would do the opposite, and actually go and reformat code in as many questions as they can find. Who's to say one approach is right and the other wrong? There aren't actually any guidelines in the modding pages.

It does get annoying sometimes; for example, I was refused the tag vanilla-js because of reasons by someone who didn't even seem to be a js developer. Had a few heated discussions, in the end the mods won. But hey, you know what? Who cares, the site is still useful

What are the realistic alternatives? Quora?


  Stackoverflow is a little more boring for contributors now than
  it was before (which is why I gradually stopped answering),
  simply because most of the general questions have already been
  answered.
This sums it up. I'd not find it fun to answer the same questions over and over. Doesn't imply that no-one should answer those; just that it leads one to wonder the value being added.


BTW: Do competition sites have an army of downvoters to bury leaked questions (it's kind of frustrating when one spends time answering one of the rare more interesting questions and it gets downvoted into oblivion because of a duplicate that wasn't answered properly and then also disappears...)


I agree, most normal questions are answered on Stackoverflow already. There is a lot of opportunity in the edge cases though. And it's true that these are the answers that take experts and time. Maybe SO should advertise more experienced people to share their knowledge as well.


Hold on what the hell - I just skimmed through the 'decline of...' article referenced by the above article to look for the one of the reason for those 2013 stats being that there are users that can find the answers to the questions they need without asking and without answering. I am within the 8% that have answered more than 5 questions but I don't have time to actively contribute but do use it everyday and am voting on questions and answers everyday. If there are more like me then how is it in decline?

That the referenced article doesn't cover this then undermines the other arguments about its attitude to users (arguments I largely disagree with).


  you can’t easily ask a question without having it downvoted,
  marked as duplicate, or commented on in a negative way
I wouldn't really agree. If the question is clear and even if it is a FAQ, then you'd not receive answers but also upvotes (for posting a FAQ) especially in popular tags such as python, regex, java.

That said, there are several other problems with SO:

- too many poor quality questions

- too many poor quality accepted and highly upvoted answers

- activity in a limited number of tags

- the reputation (apparently virtual bitcoins) cause the overall answer quality to decline (search for "Fastest gun in the west problem" on meta SE)


I have 851 reputation (top 39% of all users), I have answered 15 questions, about 50% haven't received any points, a few have received a minimal amount, and two or three have received a bunch of points.

My answers are generally to quite niche topics, I have never gone out of my way to answer questions, I typically post an answer when I have invested a good chunk of time to find the solution to something and then see a question about the same issue. I sometimes see questions I could answer (or improve existing answers), but do not provide an answer as I find it hard to justify the time, I feel that if I wanted to rack up points on stackoverflow it wouldn't be that hard to post several answers a day.

My reputation has gone up pretty much steadily, for the last three years, with an average of about 3 or 4 posts per year. I am a pretty light user, and being in the top 39%, if anything, surprises me as I could easily imagine being in the top 80%.

I find stackoverflow very useful, I work in games development which is quite a broad subject, in an ideal world I'd have very in depth knowledge about hundreds of topics, but in reality stackoverflow allows me to get quick answers to a huge amount of questions/problems, which in turn gives me more time to devote on area which I feel are most important. I haven't noticed stackoverflow going down hill in the time I have used it.


This is my experience as well. I'm in the top percentile and I almost never answer any more. The points keep coming though, for a handful of popular questions/answers.

Answering is way less rewarding than a few years ago, but SO is working fine. From the opposite point of view, I have asked one question on SO to which I never received an answer, probably because it's not possible (it had to do with Flash streaming).


I believe one of the features of StackOverflow's design is that people quit the site when they become burned out answering repetitive/uninteresting/homework/etc questions. Because the alternative is that they hang around the site and entertain themselves by treating people badly...despite the design, I believe that the way in which 'homework' questions are used as an excuse for unhelpful behavior illustrates the general problem that concerned Spolsky [1] when designing the site.

[1] and perhaps Atwood to a lesser degree based on their difference of opinion regarding 'how do I move the turtle in Logo'. https://stackoverflow.com/questions/1003841/how-do-i-move-th...


I stopped getting answers in SO. These days I see that the answer could be there in SO, Github, Gists, blogs and Google is the first place I go to. A few years back, I could go to SO for practically anything to do with coding. And I was doing Ruby and Rails.


I rarely have the sort of experiences on SO that some seem to have. From my witnessing the kind of frustration friends have had with SO, and from experiencing my own occasional mistakes, I think some people are just poor at stating an actual question, but can describe their problem in detail, which is fine except often just talking about a problem without conveying the direction one is looking to go towards isn't helpful to others. Some people also just get offended really easily. Perhaps it comes from a past of spending time on very Machiavellian BBSes, but my skin is rather thick and I've only once run into a complete jerk on the Stack Exchange system, though not on Stack Overflow.

It's easy to complain about any system, but what do we really have that's better than Stack Exchange? Quora? Yahoo Answers? lol Maybe Experts Exchange, but the userbase hasn't been nearly as large as SE in years. I personally like the fact that SO/SE is so strict because, for all the power of the internet, there is mostly incorrect information on it. I'd much rather some people get dissatisfied with it, and that some of my questions get closed or downvoted easily, than have to wade through a ton of duplicate questions with answers that appear to be written by 12 year olds.

The only thing that I wish SO would implement is mandatory explanations for downvotes. Upvotes help a question get attention so there really isn't a big need for an explanation, but a negative score from a few voters early on can prevent a perfectly valid question from ever being taken seriously. This has happened to me on a couple occasions where I knew that the question was valid and the body properly formatted, but someone just didn't like the question for whatever reason. It's a good thing that a bounty can fix this, but I shouldn't have to spend 100+ of my points just because one or two people didn't like that I was asking a question that supposedly every programmer should know and I'm an idiot for asking it.

I have no clue what people are talking about when it comes to a "signal to noise" ratio; Stack Exchange is one of the least noisy sites I've ever seen.


Stackoverflow is a waste dump of crap questions that need to be put on old (and permanently deleted).

This is not the case with some other SE sites, which run a "tigher ship". For instance, the moderation review queues on the Electronics SE site are kept small; everything gets processed.

The moderation queue on SO is huge. Currently, 8.8K questions with close votes need review. Hundreds of low-quality posts. In Electronics SE: 6 close votes need review at the moment, 3 First Posts and 1 re-open. That's it.

I clicked on Review in SO just now to start reviewing close votes. The very first question that comes up is from 6 years ago.


I want to contribute but there's some reputation barrier. About 1/4 of the time, the best answer isn't chosen but I don't have the ability to help vote up the best answer.


Biggest problem on SO is the constant need by the moderators to mark a question as 'not a question', when it's actually a really question and gets a lot of good answers.


How were these questions stated? Whenever I have seen this happen, it's because the user was behaving like they were posting on a vBulletin help forum.

For example, the title might be "question about rails" and the body might say something like "Uploads don't work. Here's my controller code."

There are two problems here. First, no actual question is being asked. There may be an implicit question, but that's not what SO is about as it isn't terribly helpful to those searching for answers. Second, the user may be missing so much fundamental knowledge about the subject that a sufficient answer would require more work than is worth anyone's time, and would contain more information than is in the scope of a single specific question. SO is meant for answers to precise problems, and isn't a tutorial site. Sure, some people may post good answers, but the question may be too nebulous if it exists at all.

I really don't see that kind of thing happen often enough to be a big deal, but that's the only sort of case I have seen get the treatment that you describe. As I have said before, I would rather have some of my questions be rejected on some basis than have SO be a complete garbage dump. In contrast to other sites in general, SO/SE is very clean.


Maybe better moderation responses would help - ie, recommendations, links to guidelines, etc. Have those improved recently?


Stack overflow, like a lot of the forums out there, suffers from the same pathology:

it is very easy to stumble upon an answer which answers the question, and is correct in a very wide context, but is actually bad advice (low quality correct answer, which without experience is bad practice).

And now comes the catch-22: if I do not have enough experience to recognize the correct-correct answer, the answer presented will actually propagate some solution, implementation, or practice, which is bad in the long term.

EXAMPLES

Example 1: new user asking a system administration / configuration management question

"how do I change DNS settings on my system?"

"oh, just edit /etc/resolv.conf by hand."

(When the correct-correct answer would be "learn how to create an OS package which delivers the correct /etc/resolv.conf, or create an OS package which configures the system to be a DHCP client, and then keep that under revision control.")

Example 2: a developer asking how to link properly

"I compiled abc and linked with def only to find that abc cannot find the def shared library. How do I fix this?"

"Use ldconfig or set LD_LIBRARY_PATH=/path/to/shared/library." (When the correct-correct answer would be "when compiling abc, set -R'$ORIGIN:$ORIGIN/../lib:/path/to/lib' or -R'$ORIGIN:$ORIGIN/../lib64:/path/to/lib64', depending on whether you're compiling 32- or 64-bit, and always use the compiler's front end to link as well.")


Plus, for specialized topics, a good portion (10-15%?) of the top-voted answers are just wrong or misleading.

About once every few weeks in reviewing one of my team's code, I see something strange. I ask them about it, and they say they did it that way because of SO. Then, I have to explain why it's not a good idea to do in our code. Then, I have to spend a couple hours showing them why, because clearly 'everything on the Internet is correct.'

Overall though, SO has saved me a TON of time over the years. But, lately I have been more often reading user mailing lists or looking at the source code.


Stack overflow can save a lot of time, but only if perused by someone with experience who is just looking for their next clue, and will know how to turn a low quality but correct answer into a clean solution. In such a case, stack overflow can be very useful, but then the same goes for any random Linux forum.


"learn how to create an OS package to ... " is also the wrong answer, firstly because it will take a tremendously long time, and secondly because there should already be an OS/distro mechanism for handling resolv.conf.


So what if it will take a tremendously long time? Computers are hard and complex systems; that's their most basic property.


Most users are trying to get something specific done, and know that they could spend their entire lives learning about bits of the hard and complex system that would not move them towards the immediate goal.

(I do understand where you're coming from, but I'm now firmly in the other camp. There are several small easy home computing projects that have been on my round-tuit list for months because I don't have time for that. I used debian for ages but never quite got round to building debs for things, because make-installing into /opt or /usr/local is good enough)


I don't think SO is declining either. I myself don't contribute that much anymore either, but I used to. Mostly because of reasons stated in this article.

There are some valid points though for both contributing and not contributing to SO. The fact that you need to be 'really fast' to answer questions does indeed hold mostly for the simple answers. And actually there I found that it's best to write a short, concise answer to the question and post that - more chance of being first - and then alter your question to add additional information that was not crucial, but still nice to have.

Anyway, SO is still a good resource for problems that are not that esoteric. With esoteric questions, the odds of someone finding your question and being able to answer it in reasonable time is smaller, and you're probably better of either looking through the docs yourself or, if possible, looking at the open-source code.

That it's hostile to newbies could be true. But it can also be hostile to people who have been using the site for quite some time. That is, unfortunately, part of the internet these days. Trolls are hard to avoid on websites with a big community.


SO is problematic when combined with the current trend towards CADT release models. The "non-duplicate" question you get pointed to was seven releases ago, and the solution in the answer has been deprecated. Doesn't matter, though: still marked as "duplicate".


Hi Bozho, thanks so much for your help over the years. SO might be in decline, but it's one of those few products that makes you realise that better product design can change things for the better.


Why has SO entered the hiring market? Are they losing focus? I use SO profile as part of my hiring process but does the world really need another job-board?


I work in emergent technology and R&D.

My questions don't have a SO question, let alone an answer. I get that in general programming, SO is great. Or if you need to know how to generate a N-dimensional array and initialize it for floats -- sure.

But what about: How can the Hololens be used in an Academic sports setting as training hardware? I'm brainstorming rapidly, then digging in what the Hololens can do (by experimentation, no less), and then investigating the API for what's exposed.

The API is the easy part, as it the simple programming.


The closer you are to actual research, the less helpful anything in print or online will be in answering your question.

SO is for questions that have known solutions or quickly knowable solutions.

Sounds like you're actually looking for a collaboration tool.


SO mods are some of the most toxic people I have encountered on the internet.


I cannot even start to contribute to Stackoverflow, because it is way too complicated ladder to become helpful.




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

Search: