Published 2021-04-18.
Last modified 2021-04-21.
Time to read: 10 minutes.
posts
collection.
This article describes some problems that significantly impact Stack Overflow users, and offers suggestions for improvement. If you are unfamiliar with Stack Overflow, or would like to read a summary of what this article is based on, Kevin Workman wrote a terrific summary in March 2019 entitled “The Stack Overflow Culture Wars”. Very little has changed since then.
Introduction
Stack Overflow is the premier website world-wide for programmers to help each other by asking and answering questions. It has a defined protocol for this type of interaction, however new user on-boarding is often ineffective, so newcomers are not properly informed, and old-timers often do not exhibit appropriate people skills. The protocol is somewhat misguided and appropriate tools for better interaction are not provided.
As a result, this website has developed a well-documented reputation for being “a valuable resource, but a scary place to contribute due to potential hostility.”
– Jay Hanlon, writing about Stack Overflow when he was EVP of Culture and Experience.
–
sleavey
commenting on a Hacker News thread entitled
Stack Overflow Culture.
Change Starts At the Top
Prashanth Chandrasekar, CEO
Prashanth Chandrasekar became CEO of Stack Overflow in September, 2019. Inside Intercom interviewed Mr. Chandrasekar in August 2020. This puff piece made no mention of any cultural problems. The focus was on the brilliance of Stack Overflow’s technology. If Mr. Chandrasekar has a vision for how to guide social change, he did not mention it. Instead, in the article and his publications since then he only speaks publicly about transitioning Stack Overflow to a product-led SaaS company.
Shortly after becoming CEO, Mr. Chandrasekar published “Scripting the Future of Stack Overflow, in which he wrote:
We learned that we needed much better channels to listen to our moderators and community members. We have not evolved the existing channels of engagement for power users in our community, like Meta, or articulated how we intended to make improvements going forward. This has caused friction as our user base and business have rapidly grown. We acknowledge these issues, apologize for our mistakes, and have plans for improving in the future.
Later in the article, he mentioned improvements to the code of conduct, a survey and establishing a moderator council. More than 2 years later, none of this has made the slightest difference in Stack Overflow's culture.
Mihir Pathak — EVP, Strategy & Transformation
Prior to his employment at Stack Overflow, Mr. Pathak was a derivatives strategist McKinsey & Company, a world-renouned change management company. That is to say, although Mr. Pathak worked at McKinsey, he was not there to assist other companies make structural changes; instead, he was responsible for pricing methodologies and hedging techniques underlying financial derivative products and options trading strategies – a heads-down money manager.
Mr. Pathak’s page at StackOverflow is no longer available. Google cached it. No announcement has been made about his departure or if there will be a replacement.
Mr. Pathak's job description is still visible at themuse.com
:
Mihir is responsible for the long-term business strategy of Stack Overflow, which includes forming partnerships with like-minded organizations and understanding how to best serve the needs of future developers.
Mr. Pathak was employed from September 2016 at Stack Overflow as a business development executive, not a change management champion.
Teresa Dietrich, Chief Product and Technology Officer
In January 2020 Teresa Dietrich was made Chief Product and Technology Officer. She also came from McKinsey & Company, where she was Global Head of Product & Engineering. Two months after she took the job she wrote “Sharing our first quarter 2020 community roadmap”. That rather bland article did not seem to indicate any recognition of serious problems within the Stack Overflow culture, and I could not find any publicly available results of the studies that were mentioned.
16 months after Ms. Dietrich started her job, I do not see any cultural change. Has Ms. Dietrich been tasked with leading such a change? If so:
- Does she have board-level support?
- Does she have what she needs to make significant cultural changes?
- Why has she not made any public acknowledgement of a cultural problem? One possible answer is that her boss, Mr. Chandrasekar, has not done so.
- Is Ms. Dietrich the right person for the job? This is not a purely technical problem, it is a social problem. I believe that women in general possess more highly developed social skills, but the skills necessary to climb to the top are not the skills required to make this type of cultural shift.
Where Am I Coming From?
I have no agenda, no investment in the status quo, nothing to prove, no contacts at the company, I am not an undercover journalist, and I am not a competitor or investor. I am just Joe User... and I am not shy when I believe I have something that I think needs to be heard.
If I mispeak, please tell me. If I missed something, again please tell me. If there is a bigger picture I would like to learn about it.
I have used Stack Overflow and its sibling websites for more than 10 years. Until a few weeks ago, I contributed a few answers here and there, and otherwise did not spend much time on the sites. All contributors are volunteers, so the only reasons to contribute are for prestige, social bonding and altruism.
For almost 30 days, in my spare time, I helped people who asked questions on Stack Overflow. I am writing this article because although I enjoy helping others, the enjoyment I experienced while doing so within the Stack Overflow environment was overshadowed by the regressive behavior tolerated and even enforced by other contributors. I should also say that I did encounter certain other contributors with whom interaction was very pleasant. However, interactions with alpha contributors with the highest scores seemed more often than not to be quite unpleasant. Since I first published this article, I have mostly not interacted on the site. I remain open to contributing to improvements in the culture.
The next image is provided so readers know that I am able to effectively participate in the current Stack Overflow website.
Over 100 of the answers I offered in a 30-day period were accepted as the preferred answer. In fact, most of my answers were selected as the preferred answer. That means many more alternative answers were not accepted.
After losing, sometimes a contributor will delete their post. I have done it myself, when the winning post was significantly better by all measures.
Some of the other contributors who had provided alternative answers that were not selected clearly felt they had lost a competition. This structure, and others that I describe below, define a system designed to generate hostility. Stack Overflow, as currently implemented, promotes dominance behavior, which for most primates (other than bonobos) is patriarchal.
Gamification
Stack Overflow's success has be in part due to its successful gamification of the interaction between questioners and answerers. Gamification is powerful and addictive. Unfortunately, the model chosen resembles FPS (first-person shooter) games, instead of co-operative games.
Jeff Atwood, one of the two original authors of Stack Overflow, wrote an article in 2011 entitled The Gamification, in which he writes:
Just below that sentence, Mr. Atwood shows a screenshot from an FPS video game:
– Jeff Atwood, from “The Gamification”
FPS games are structured so the player only wins by killing others. This is an entirely different motivational structure than a scenario where a person only wins if others succeed.
Terminology
I use a few non-standard terms in this article:
- Questioner
- One who provides a question
- Answerer
- One who provides an answer
- Downvoter
- One who downvotes another person's contribution
- Downvotee
- One who has their contribution downvoted
Dialog Improves Most Questions
A small percentage of questions asked on Stack Overflow are unambiguous, contain all the necessary information, and are phrased well enough to be understood. For these questions, answers can be posted without any interaction between questioner and potential answerers.
However, most questions involve a dialog between potential answerers and the questioner. In the dialog, the question is refined, and the questioner's code and any other relevant data is elicited and provided. The tools provided for such a dialog are unfortunately problematic.
The only two mechanisms for interaction between questioner and potential answerers are comments and answers. Comments have severe limitations that greatly reduce their effectiveness for eliciting information from a questioner:
- Comments must be very short
- Comments cannot be formatted properly
- Comments cannot be edited for more than a few minutes
This means that answerers who are trying to explain something to the questioner to elicit more information, or guide the questioner towards understanding their problem better, must resort to posting an incomplete answer. Posting an incomplete answer is risky; other potential answerers can attack the answer by downvoting it.
Some Incentives Promote Hostility
Many long-time users have completely objectified other users, and act as if Stack Overflow is a video game. Points are accumulated, and at any given time there are a finite number of questions to answer. A person's reputation on Stack Overflow is represented by a single number, which is the number of points they have accumulated. This single number is the structural source of many problems. A more nuanced reputation score would be a giant step forward.
Many of these long-term answerers have come to view their participation on Stack Overflow as a zero-sum competition; they can only win (that is, have their answer accepted) if everyone else loses (that is, no-one else provides an answer that is accepted).
Some answerers employ intimidation order to suppress competition. Downvotes are often used in the same way against other answerers as a brush back pitch in baseball.
Standard operating procedure for competitively-minded answerers is to downvote answers from others at every opportunity. There is no risk in downvoting:
- Downvotes are untraceable; there is no public record of who downvoted or when a downvote was cast.
- Downvotes are free to downvoters; this encourages liberal downvoting.
This scenario incentivizes competitively-minded answerers to strafe the competition with downvotes at every opportunity.
Downvotes typically last forever. Yes, a downvoter could theoretically reverse a downvote, but it is awkward for them to find their old downvotes, and there is no incentive to do so.
Questions from newcomers are also frequently downvoted, without discussion, or along with hostile remarks. That leaves a permanent impression, and tends to select for new members who are comfortable with dominance-based hostility. This is a self-perpetuating, and highly toxic, social order.
Suggestion: Gamified Onboarding
The only information for new users that is directly accessible from the Stack Overflow front page, is the Help Center, under the question mark icon. It is obvious from the often very polite and tentative inquiries made by new users when they ask their first question that they never noticed that information, or if they did it did not seem relevant. ... and then those new users are mercilessly slammed.
New users should be presented with a short instructional question and answer-style introduction, where information is provided on how to be a good Stack Overflow user. This should happen before they get the opportunity to post their first question. Different levels of users should be explained. Although Stack Overflow is all-English, the onboarding should be multilingual.
Suggestion: Multilingual Support
A high percentage of users do not speak English very well. They really struggle, and tolerance is low on Stack Overflow for bad English. Other sites, for example Facebook and LinkedIn, have a translation facility built right in. I think Facebook did a particularly good job. Why not do something similar on StackOverflow.com? English would be the official language, but everyone world-wide would be able to interact much more effectively.
It is not that hard to do!
Machine translation is really quite good. I have it on this site. Want to view this site in one of over 100 languages? Just go to the top of this page and click on this pull-down menu labeled Select Language:
You will then see the list of languages that you can view this website in:
Morally speaking, not to provide a multilingual site discriminates against non-English-speaking people.
Suggestion: More Nuanced Reputation Score
Instead of a single metric, answerers should be rated along several dimensions. Economists and psychologists both use multidimensional diagrams. The following diagram represents data in 4 dimensions. More dimensions can easily be shown in this type of diagram.
Instead of "bigger is better" (a single number indicating status, with the high score indicating alpha status), more information would allow for more detail, so a fuzzy diagram would show little interaction, while a highly detailed and intricate design would indicate a lot of participation. Some answerers might be stronger regarding some metrics, while being weaker on other metrics.
Instead of displaying a person's score, the shape of their participation would be shown. Some people prefer to be seen as well-rounded, others prefer to be the best on selected aspects and ignore the others. One size does not fit all.
People would start to give pet names for various shapes. Jokes would be made about the shapes.
HR personnel would start to hire teams based on how well these shapes meshed together. Money will be made by timely entrepreneurs because these shapes will quickly be adopted industry-wide. Some will aspire to change their shape.
An entire industry will spring up servicing those who wish to modify their shape.
Suggestion: Encourage and Highlight Elicitation
Elicitation is a difficult skill to master. The current high-scorers have no incentives to employ elicitation, and they act as if on a campaign to eradicate it.
A button should be introduced that lets everyone who visits the question page that a potential answerer would like to elicit information. While at least one such button is enabled, no downvotes are possible relating to the question, and the question cannot be closed or moved to another forum by anyone, regardless of their privilege level.
The elicitation mode would time out, but not suddenly or unexpectedly. Instead, it would back off, rather like the Ethernet back-off algorithm for collision resolution used in random access MAC protocols.
Both the potential answerer and the questioner would be given cues that they have a question or a response waiting, and after a period of inactivity the special status ends. I leave the details of the timing undefined for others to discuss.
Suggestion: Restrict Downvoting
Downvoting needs to incorporate:
- Accountability (no more anonymous downvoting)
- Cost (no more drive-by shootings without consequences)
- Time window (vote after the dust settles, not during the elicitation phase)
- Public displays of user profiles should prominently display that user's downvotes and upvotes, with links
- Aggregate statistics on user profiles of their percentage downvotes and upvotes, trends (absolute and relative), etc.