back
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.

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.
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.
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.
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?
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.

Exactly what I do. Exactly what happens to me. I am a serious Necromancer.
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.

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).

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…

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 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...)

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.

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.

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

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)
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.
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.")

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.

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.