Stackoverflow: Toxic or Just done with you?

For years I was part of the group that hated the stackoverflow community. Of course, I still used it. Without it I probably would have struggled a lot more to come to grips with development. I remember back at university, everytime the name came up in conversation or otherwise all of us would share the same look and sigh. We all knew the truth, that we absolutely needed this treasure trove of information, but it came at a cost of headaches and being brought down by devs with huge egos or what seemed to be a deep-rooted hatred for newbies.

If you look at the top 10 or so top posts from /r/AskProgramming there are 2 threads about the toxic nature of the community and I can imagine that the jokes about the community are widespread and common from the US all the way across to Australia.

Until recently, I still just thought that the forums was just something to grit your teeth and bare with so that you could get the help you need. However, my mind and opinion has now changed.

Whilst there are some toxic people on there, like any community. The reason they react quickly with such bitterness and toxic words, swiftly followed by the thread being locked is simple. They are just completely, sick and tired of the newbies.

Newbies, are important to any community. It's how the community thrives and grows. However, a lot of them I've noticed just want everything handed to them on a silver platter with no thought involved. Like a freshly baked pie, still steaming from the oven. With how popular coding and development has become, any somewhat popular programming language area is flooded with the same basic, not thought through questions that can simply be answered from the docs. When all you want to do is help people, this is the fastest way to get bitter and pissed off with it.

So if you are a newbie (let's face it, with the amount of different technologies available in this industry we all are newbies in one thing or another) please read these tips, take them to heart and let's do our own little thing to improve the perception of the SO community, and the dev community as a whole.

CanadaBound's top 5 newbie tips to make SO hate you less

1. Research the topic before asking a question

It is normal to spend a ton of time researching a problem when you're coding. Even if it feels like a small problem. I can spend up to 30 to 60 minutes just solely looking through stackoverflow, documentation and random tutorials online to find a solution to my problem. On some problems this could even be a whole day endeavour. If you are attempting to post a question on stackoverflow and you have researched the problem for less than an hour * then that should immediately set off an alarm that you might not want to be asking this question just yet.

*There are always some exceptions, but in most cases it's a good rule of thumb to follow.

2. Lots and lots of detail

This is mainly about the depth you go into in the original question. If your question consists of a couple of lines of description, which will probably consist of non-technical terminology. Then you will not be greeted kindly. Make sure that before you send off that question, that you have put as much detail as you possibly can into it and made it sufficiently clear. The amount of times all you see is just a paragraph with a vague problem and an expectation of a nice, clear solution in code is kind of baffling.

3. The XY problem

What is the XY problem you may ask? Well it's a problem where a person asking for help obscures their actual problem, X, because instead of asking directly about X, they ask about a secondary issue Y which they think will help them solve X.

It's an annoying communication problem with a very, very simple solution that also links back to point 2. Ask about the problem you are actually having, clearly and in detail and not the problem that you think is causing it or the solution that you think will fix it. The more experienced people answering your question will probably know how to fix the problem if you actually explain to them what the problem is.

4. Layout

A good layout to the question is absolutely crucial. Not only to the people that will give you help, but also to the people that will be looking for a solution to that same problem later on.

First of all, explain your problem. Then in a seperate paragraph tell them what you have attempted already to fix the problem. Finally, add snippets of code if necessary.

The keyword here is snippets, not your entire project folder. If it's an issue related to a specific function, show them that function and any related/dependant things and try to explain what certain things are if it's not super clear from the snippet.

For example if you have an issue with data using a GET function on a web api. Show a snippet of the GET function, the data model and the database context. That way they can see the whole process from start to finish in the code.

5. Best answer

This is a minor one, and an easy one to fix but I see it all the time with newbie questions. If you ask a question, and someone provides a solution. PLEASE mark it as the best answer. This will not only help other people who have the same issue, but also give something back to the user who took the time to answer your questions.

Well that is all. Hopefully you learnt a thing or two and can now be a good, active member of the community and maybe change some minds along the way to view newbies more like good members of the community and not just leeches. Maybe you'll even stop getting answers such as "Google it" from pissed of SO users.

Thanks for reading! CanadaBound