Is Stack Overflow’s culture going south?
When you’re a developer (coding) or programmer, you often find yourself on Stack Overflow. One of the reasons is there are very many common programming problems, and you can find the best solution for these “utility” things just by searching.
For instance, most programs will need to deal with time. Storing time and doing math on time is easy in, say, seconds. The computer should think just in seconds. But when you show the human the answers, you’re going to need to show them dates and hours and you need to account for leap seconds. Converting times is extremely common. So we programmers re-use old solutions.
Utilizing Stack Overflow for re-using old solutions feels a lot like using a dictionary or like using Wikipedia.
As for me, I have been a Stack Overflow user for years. I’ve had an active account for more than a decade, and maybe for more than half my life. In the early days, there were many opportunities to add meaningfully to the community through asking new questions or posting answers.
As the years have passed, I passively recognized that opportunities to contribute were shrinking. Answers seemed to come faster and most questions were already asked, even for new languages.
Maybe it goes hand-in-hand with that phenomenon, but the Stack Overflow culture seems to be moving toward more restrictive, too.
Here is my recent experience. I haven’t had to ask a question that didn’t have an answer on Stack Overflow for a long time. I recently asked this question about converting coordinates from latitude and longitude to Earth-centered, Earth-fixed x, y, z using Python. The problem comes up a lot. The common solution across the internet is to install a package called pyproj. But, at work, I can’t install pyproj, and I’ve gotten tired of junk solutions. So, I asked the question, essentially if anyone knows a way to do this, assuming there must be a solution somewhere in the vast amount of code included in anaconda.
Much to my chagrin, my question immediately received two downvotes. I can only assume it was downvoted because two random reputation-hunters were looking for some quick points for answering and determined that my question was stupid. Or, maybe these two people assumed I didn’t put in any effort to research an answer on my own.
Now, here is how some people think. Given enough time, I could theoretically look through the documentation of every package in anaconda and could answer my own question. Some Stack Overflow users think that if that is the case — if the answer exists in documentation somewhere — then the question is unworthy, regardless of how much documentation reading it would require to answer on one’s own. Not only is that an annoyingly unhelpful attitude, it also prevents the encyclopedia that is Stack Overflow from gaining another useful entry and more traffic from Google searches which it would gain every time a user searched for just such a problem. I asked the question not just to see if another user would answer it, but also so that the next time I searched for it, I would find it right away.
It is also true that lots of Stack Overflow users are addicted to the game of getting points. They’re just looking for quick opportunities to level up and they get excited when they land on an unanswered question because there is potential for a lot of points. They probably get upset when they open it and realize it’s not such a basic question as they thought!
Regardless, the bottom line for me is my question gets buried. People ignore questions with multiple downvotes. Questions with multiple downvotes don’t get recommended to be viewed in the first place, too. I end up not getting an answer from the community and at “-2” I know I’m destined to find the answer myself or to go without.
That’s a toxic culture, right? Completely unhelpful. It’s exclusionary. It’s annoying.
Well, the end of this story is I noticed I was at “-2” and I decided to at least try another fast check through the list of available packages. If on the first page I could find the words “space”, “earth”, or “coordinate”, then I would look deeply into the documentation. By so doing, my list of packages to search would be very small. Digging through the documentation might still be very tedious, but at least I had bounded my search. Because I have significant domain knowledge in the field, I actually did find a package — one day later. You’ll be interested to know that the language in this package is different from the language I would use to search for it. I don’t think most people searching for this would have found it. It is specific to an astronomer’s point of view. Funny though, there aren’t that many astronomers in the world; there are however a lot of sailors, pilots, and others who use this kind of stuff. Fortunately, my job is at a company that is famous not just for flight and sea travel, but for space exploration, too. It’s likely that I would not have found a solution without the significant domain knowledge.
Here’s the reason this annoys me: the negative culture probably won’t become a problem for Stack Overflow. Helping individual users isn’t very important to them anymore. Past questions on Stack Overflow are the encyclopedia of every programmer and that’s not going to change. At this point, they just have to keep the servers running to stay relevant. Normally, the “market” would teach an entity like Stack Overflow that they need to change. People would stop using their product. Unfortunately, that’s not going to happen. People will stop making good new questions and good new answers, but Stack Overflow will look at the number of people visiting the site (which will always increase as the number of programmers increases) and say they’re a success.
Stack Overflow at one point was famous for a helpful environment and very usable website. It’s the best place to find programming help for a reason. I don’t think the environment is helpful anymore, and I don’t think they’ll ever regain that “mojo”.