Stack Overflow not that long ago released a blog post about how Stack Overflow isn’t welcoming and that they mean to change that. At the end of the post, they are asking for feedback from users. This is my feedback and response to that post.
Fun fun function made a video loosely tied to this blog post where MPJ talks about politeness and clear communication and how those 2 things relate to each other.
I want to make a video that is a direct response to the blog post. Hopefully, I’m not too late.
My experience with Stack Overflow
I’m an iOS developer with ~1 year of Development experience. I asked my first question on Stack overflow 2 years ago and I asked a lot since then. Those questions were not limited to Swift and iOS Development but other programming languages too.
My first Question
I asked my first question on Stack Overflow 2 years ago and it was the following: “ How to access the second element of an array in a dictionary within an array?”
This question was arguably pretty stupid. But you have to take into consideration that at this point I was new to Stack Overflow and new to Swift. I didn’t even know that documentation existed let alone how to use it.
And the community came at me and the question got downvoted to -6 and I got a few useless comments. I did get a good answer at the end and I believe that that guy went above and beyond for me.
But if we take a look at the comments there is one that says “You should consult documentation, why ask it there?”. This comment is really bad because it added no value and it made me feel like shit. On the other hand, there is a comment that is just a link to the proper page on the documentation. Which is much better, that person didn’t bother to formulate an opinion and didn’t waste time typing he just straight up gave me all I needed and went on with his life. This would be a much better way to handle such a situation.
As to the downvotes, I have no clue what purpose they serve. One thing is for sure the -6 score on my account has nearly got me banned. And the cherry on top is that after all this I didn’t learn anything.
Current status of my account
I asked multiple “stupid” questions all of which got downvoted and now if I attempt to ask a question I see this red box:
This is absolutely ridiculous in my opinion. My questions got downvoted mainly because they were too easy to answer and the community didn’t like them for WHATEVER reason. I didn’t even get a chance to learn from my mistakes because when you downvote you aren’t required to provide an explanation.
In my opinion, the possibility of getting banned as a result of anonymous, unexplained and possibly careless downvotes is a way too harsh sanction. The punishment is not in balance with the “crime”.
My recourse regarding the message above
My main e-mail address and my name amongst others are associated with that account. So I didn’t want to take the chance of my account being banned from asking any more. If I were to ask a question I’d be at the mercy of the community which tends to be overly negative.
But I still wanted to ask questions. So what I did is register secondary accounts with my other email addresses. This was a good solution at first but then those accounts got banned.
So I have evolved. I discovered that there are services out there that provide a burner email address to you for an hour. So I use these email addresses to register burner accounts to stack overflow. So far I have 3 accounts besides my main account 2 of which are banned I forgot the username and password for them so I have no access and I cannot even identify them. I’m not happy with this. I’d rather have all my questions stupid or not on my account but I feel that my hands are tied.
Obviously, I have a problem with asking “bad questions”. But why would the community have the right to label a question right or wrong? After all, there is no such thing as a bad question and if there is then the asker shouldn’t be crucified just corrected.
At one point I got so frustrated with Stack Overflow that I made a snarky comment in one of my videos encouraging others to do the same as me.
What is it like asking a stupid question on another site
For example here is a question and the answer to it which would have been the final nail in the coffin for my main account but I asked it on the Swift forums:
A: “This happened “way back” in Swift 3 as part of SE-0006: Apply API Guidelines to the Standard Library 9 .”
There was no downvoting, there were no useless comments and no bad rep, just a short answer. This is how Stack Overflow should be like. If a question is bad, let it sink as better ones will prevail.
My problems specifically
Stack Overflow’s post starts off by stating the central problem:
Too many people experience Stack Overflow¹ as a hostile or elitist place, especially newer coders, women, people of color, and others in marginalized groups.
I personally cannot speak for women, people of colour and other marginalized groups. I cannot even be a representative for newer coders since I wasn’t elected by anyone.
But what I can do is state my opinion. I personally do not think that Stack Overflow is “hostile”. It would be that if people were bullied. I haven’t seen or experienced that on Stack Overflow. If I had then there would be a much bigger problem. In my opinion Stack Overflow is just generally an unwelcoming and unforgiving community that is very frustrating for new users and newbie developers (not to mention if both are true like in my case it was).
Marking Questions as Duplicate
This isn’t a bad feature necessarily but I believe that it is used in the wrong way.
It is only natural that we indicate that a question has been asked before or that it the same fundamentally or a similar question has been asked. But that doesn’t mean that the question thread should be closed and people should disregard or downvote the question.
Here is an example. Swift is a rapidly evolving language. Syntax and language features change from year to year. So if a question was asked once, the answer may not apply anymore since there was a change in the language. Even though the question is the same word for word.
Also if a question is marked as a duplicate but the other solution has to be modified significantly then the question is still worth answering in the same thread.
My solution proposal
If a question is marked as a duplicate then the asker should be able to respond either
- Accepting that his/her question was answered in which case the question can get archived. But still, this shouldn’t leave a negative mark on the profile of the user who asked it.
- Appealing In case the answer doesn’t apply or the answer still doesn’t solve his or her question. This could be because the problem is elsewhere and also answers can get deprecated.
Downvoting
As of right now downvoting a question can bring serious consequences to the asker, like in my case. If a couple of questions from a specific user get downvoted then that user could be banned. This is absolutely nuts in my opinion since the people who downvote don’t even need to support their stance.
Currently, the reasons I see why people would downvote are:
- Very easy question and the answer could be found elsewhere e.g. documentation
- Doesn’t provide enough code to compile and reproduce the problem
- Very hard question that is nearly impossible to solve
My solution proposal
All of the reasons I just mentioned above should not result in downvotes.
- If the solution to a question can indeed be found in a Documentation then that part of the Documentation should be linked as the answer.
- If there isn’t enough code then we should be able to request more until we can grasp the problem.
- In case the question is very hard and we cannot answer the question then maybe it could become a challenge and bonus points can be given to the first one who answers the questions.
- I cannot even come up with any reason as to why one should downvote.
One man’s trash is another man’s treasure
Just as an example my first question was “How do I access the second element of an array”. I asked this question 2 years ago and it was downvoted criticized and all. But this is my most popular question to date with 2k views. Meaning that what you might think is stupid others value. Imagine if this question was upvoted by everyone who found it useful. I’m sure it wouldn’t have -6 reputation. This again shows that it is encouraged to downvote but not to upvote.
Useless comments
Useless comments are left unpunished while useless questions get crucified.
There are people who just simply comment:
- “It is in the documentation”
- Don’t give it away, let the OP learn for themselves. We’re spoon feeding a generation of lazy people..
Comments like these express the viewpoint of one person and are useless. As far as I’m aware Stack Overflow doesn’t encourage opinionated comments or questions and while bad questions don’t, bad answers like this one can ruin a site. So I think if anything bad comments should be punished.
General philosophy of Stack Overflow
Currently, it is unclear, at least for beginners as to what the mission of this website is. Of course, it is a QA site, that is obvious. But what is not obvious is that there are many criteria for a question like it should reach a wide audience, it shouldn’t be opinionated and much more. This site in its current form should state that it is only accepting questions that are general, can be answered one way and one way only, it should be broad enough to reach a general audience. And these aren’t even the only requirements.
Also, I believe in prevention over punishment. People aren’t asking bad questions to mess with the website or the community but because they know no better. The beginner ask page could be great but not only for beginners but for everyone and you could only opt out of it if you had maybe 100 points.
Encouraging the community
There is a whole lot of documentation on how to use Stack Overflow but it isn’t reasonable to expect that people read these before posting their first question. Anyone who asks a reasonable question deserves an answer even if it is duplicate silly or something along the lines.
If you don’t agree with a question or think that it is bad then you should just disregard it, don’t make it your personal mission to destroy that question, after all, what has it done to you? It isn’t like someone is forcing you to answer questions.
It should be encouraged to upvote questions, mark answers as correct and mark questions as answered.
And logically the ones who should vote are the people with the same problem, not anyone who just stumbles upon the question and doesn’t like the wording of it.
Also, there are some questionable badges. Like “Peer Pressure”. This is awarded if you delete a question that wasn’t well received. It could be a hilarious gag but as it is right now, this is a serious problem. This is one of the most awarded badge on Stack Overflow. Meaning that there are a lot of downvotes and intimidated people as a result.
Imagine how many people would have found at least some of those questions useful. And imagine how many duplicate questions this resulted in as people deleted their questions and others posted the same one over and over again.
Other improvements
- Categorize profiles
If there was a badge on every profile that stated that they are newbies or beginners, advanced… it would allow the answerers to not be so hard on people. Newbies would need some guidance. It is ok to point out the mistakes and tell them how to improve some things. But if we anonymously down vote questions without explanation then why are we expecting to make a positive change?
- Curators/ moderators
Some questions are asked in the wrong place. It is just a law of nature. In this case, moderators should be able to edit the tags or the question and put it in the right place. I know that this works on Stack Overflow but I don’t see it in practice a lot. On other similar websites like Reddit and the Swift Forums, this works well.
- Opinionated or other questions
If Stack Overflow won’t deal with opinionated questions and answers then there should be a disclaimer on the question writing page. Something like “Stack Overflow isn’t a site for asking for opinions! For that, you can go to Reddit: r/iosprogramming”.
Sometimes I want to ask a question but I don’t have a specific problem that I want solved. Sometimes I’m just looking for advice and some guidance. Again if Stack Overflow doesn’t want to deal with such questions then there should be a short disclaimer.
Conclusion
I know that some of the solutions I mentioned are already implemented in Stack Overflow, but I want to emphasise that what matters is action. The tools are useless if we aren’t practising theme.
I know that this post had a rather negative voice but this was some tough love from me. I am rooting for Stack Overflow and I want is to succeed. I believe that they can reach a new level with the changes that are to come. This could be the start of a brand new experience on Stack Overflow where the community is supporting, encouraging, curious and helpful.
I am willing to assist as much as I can but it is hard with a nearly banned account, so Stack Overflow, I would appreciate if you could help me out with that!