If you do not have time, there is a little TL;DR for you:
Even if you do not answer and don’t ask questions – REGISTER YOURSELF – thanks to it you can upvote questions/answers, that you find helpful, appreciating time of people that helped you.
I have been active on StackOverflow around tags .NET/C# for some time. As I have reached over 10k points I have decided it’s a good occasion to write various thoughts about this gorgeous site. Here there are, in an order of the most general one to the most detailed. However, it’s hard to classify them precisely so just read and have fun! There are also my findings and pieces of advice how to gain some reputation.
- StackOverflow and the whole StackExchange are megacool! – some answers to my questions show up in a couple of seconds, the quantity of knowledge is extraordinary and many questions have been already answered. I notice that searching for an answer on SO is a norm in our developer work. From my own experience, I can say that using simple Google search, 80% of answers can be found on SO and its surroundings.
- Answering on SO can be highly motivating – answering can be even addictive, just as gaining reputation points. Of course, you have to be aware of the danger of gaining points in itself (so called reputation whore). However, in a healthy situation, everybody wins – someone’s post is answered, we learn something new by answering and we improve our well-being by getting upvotes.
- Answering on SO gives a simple, human satisfaction – the awareness that we help other people, building a huge base of questions and answers, is addictive. I, for example, have got known that my posts were found by over 200 thousand people – nice!
- StackExchange team is great and makes cool toys – it’s enough to mention Stack Exchange Data Explorer or their site on infrastructure.
- There are in my opinion too little-appreciated portals on StackExchange, such as CodeReview etc. – that’s a pity, maybe just needs are different I could expect and we have to accept it.
- Very important one! Even if you do not answer and don’t ask questions – REGISTER YOURSELF – thanks to it you can upvote questions/answers, that you find helpful, appreciating time of people that helped you.
- Sometimes you may find SO is not user-friendly, especially at the beginning – try to ask a question in Polish, or a copy of a homework, or just not precise enough question. You will get as many downvotes in one second as possible, and get a series of sarcasm in comments. This is the characteristic of SO, but bear in mind its aim – it’s not a discussion forum but constantly building Q&A, the aim of it is to have only valuable, concrete questions and answers that one can get come back to. What you may perceive as unfriendliness, is just sometimes a little-exaggerated taking care of the SO quality.
- Don’t be afraid to ask – the level of knowledge of some users is really impressive so even the hardest questions can be solved. Moreover, this will be saved as a help for others in the future. If the questions will turn out somehow silly or duplicated, you can always delete it afterward.
- Gaining reputation on SO is really demanding – I don’t know how it is in different tags, yet in a popular field as .NET and C# the level is really high, good answers show up very quickly. If we are not fast enough, we are risking of frustration due to the lack of positive feedback.
- Tidy up your favorite/ignored tags so that everything is clear – thanks to it you will see what really interest you on the main page. These are mine settings (not all of them, that would be too long):
- If the SO community really indulges you – think about glancing at review queue – think about it as a voluntary work for the good of your favorite site. You appease you conscience as far as reputation whore is concerned.
- If Jon Skeet appears in your comments, or he has already started typing an answer – forget about answering. Unless you like to stress. The results of such battles can be seen by inquiring “John Skeet comparison”
- don’t be afraid to answer – even if you obtain downvotes, they will be canceled by erasing the answer by you. You will learn a lesson about answering questions. What’s more – don’t be afraid of amending your answer, fight, discuss – people can sometimes cancel their downvotes.
- as far as the most advanced users are concerned there is snowball effect – an ordinary man gains a couple of dozens of points with a hard work, whereas John Skeet gains much more just because of a great base of answers already given.
This is where I warn you against being reputation whore again. But I know also that answering in a situation when somebody else gains rewards/points can be frustrating and demotivating. Therefore these are couple of my conclusions drawn from my own experience relating gaining reputation:
- there are cases of gaining loads of points by posting an interesting question – for example the question “Why is processing a sorted array faster than an unsorted array?” has over 15k upvotes acknowledged the author with 75k points! With a current pace of obtaining points, it would take me a couple of years to receive such number. However, I prefer to answer than to search for questions that are profitable. That’s not the way.
- The biggest and the most interesting „traffic” covers the European working hours – and there is some heavy traffic in the evening from USA (from EU perspective). There are some at night from Hindus. Their level of curiosity drops down drastically (sorry!). At weekends it’s similarly boring. Therefore if you count on interesting questions at Saturday’s eve, you’re wrong.
- Sometimes it’s worth to fight for bounty – of course, if it meets your interest somehow. Even if we are not 100% sure we know the answer, it’s worth to work on it and solve. We obtain an interesting knowledge and a possibility of earning some points. This is an interesting option!
- React quickly – even with a single sentence or a line of code, and gradually fill in your answer. The most important is to be at the top of the list. You won’t feel appreciated by writing an ideal answer in 5 minutes while some others gain upvotes in a mentioned manner. You end up with no points at all. Unfortunately, this is „racing” feature of SO and you have to accept it. This is how John Skeet works, gradually updating an answer with more and more content.
- The longer question the less probable it is to get many upvotes – I presume people are not likely to read a question thoroughly in order to check whether it’s a point in answering adversely, the shorter questions and easier answer – the faster and easier upvotes. Longer answers work out good in a longer perspective. This is why it makes sense to give a precise, short answer in the beginning and then extend it with the details for future.
- Strictly .NET related tip. Mega fast upvotes can be earned on questions with various LINQ teasers such as „how to choose every second element from a collection, which is not empty but has a cool property fulfilling something” – people tend to like LINQ-combination and judge a common sense of answers.
- I don’t recommend earning points on old questions – they obtain a very small traffic and this is a method for fans of long-term investing only. After answering an old question, it goes to the main list but it disappears quickly, though. In result, there are a few people who check the original inquiry and will appreciate our thoroughly thought answer.
- If we earn more than 200 points, we can easily earn another 100 thanks to so-called association bonus – by establishing another account on one of StackExchange portals, etc. mentioned CodeReview. Every account (including StackOverflow) earns 100 bonus points.
- When we reach 500 points, we gain “Access review queues” authorisation, giving you possibility of viewing queues labeled questions and answers by other users, for which we can suggest content edition. We get 2 points for each accepted edition – maximally – 1000 points. It’s a lot, however, there is a limitation of daily edition points. (I reckon it’s 20)
This is it as far as my thoughts are concerned. Please comment them if you have any own views!