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.
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'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)
They were not good days.
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.
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.
* ...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.
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).
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…
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.
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...)
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.
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.
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 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.
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...
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.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)
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.
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).
[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...
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.
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.
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.")
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.
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.