Yes, it is possible to build rep on SO

Since starting to use R about a decade ago, I have been a consistent consumer of information from stackoverflow (SO). It is an invaluable resource and I am grateful to those who take the time to ask good questions and provide good answers. I have also felt a little guilty for not giving back by being an active participant. In this post I will give some (mostly bad) reasons why I was not actively participating, what finally pushed me to participate, and some benefits and tips for answering questions on SO.

Reasons for not Actively Participating

Reasons for not asking questions essentially were:

  1. Pretty much 99% of the questions I had, I could already find an answer to (on SO or elsewhere). Note: this is one of the great things about SO and it is not a good thing to repeat questions - you’ll likely lose rep for this.
  2. For the other 1%, I felt that there had to be an easy solution I missed and I’d get crushed for asking a stupid question. In these cases I resorted to sheer grit to find a solution and asking friends who I knew wouldn’t call me stupid.

Reasons for not answering questions essentially were:

  1. I had 1 rep, so who would listen?
  2. I had 1 rep, so I couldn’t comment to clarify questions.
  3. I had 1 rep, someone else with more rep would provide an answer.
  4. Time (or selfishness) - I didn’t feel I had the time to answer questions that didn’t directly deal with the projects I was working on.

When it comes down to it, I was consuming free information and not being a contributor to said information.

RStudio Community and Rebuttals to the Above Reasons.

Recently, I have had a surprisingly large amount of fun answering/asking questions on the relatively new Rstudio Community. The community has an extremely open and friendly atmosphere which has provided an enjoyable and educational experience. I credit it with the straw that finally pushed me to become more active on SO. The timing could not have been more perfect since I had a winter break from work coming and was looking for something to fill some free time. Within a matter of a few days, I went from 1 rep, to 311, just by answering a few questions.

As far as answering questions, it turns out that:

  1. People listened regardless of my rep as long as I provided a good solution.
  2. There are plenty of questions that you don’t need to comment on, and getting the 50 rep to comment is relatively easy.
  3. My solution was often either the only one provided or was well received compared to other solutions from those with lots more rep than me.
  4. It doesn’t take that much time - I just watched a little less Netflix.

I have yet to come across a question I would need to ask, but my experience answering questions has no doubt educated me on how to ask a good question on SO.

Benefits to Answering Questions

Some of the benefits of answering questions on SO are:

  1. It’s actually fun - really…and frightfully addictive (maybe that’s not actually a benefit).
  2. You learn a lot - answering questions often required a little research and I learned a lot from this process. Comparing my solutions to others also helped - there were times I found another user’s solution to be more elegant than mine…though there is some competitiveness on the site, I took this as a learning experience.
  3. Giving back to the community - if you take, you should try to give back at least a little.

Tips for Answering Questions

Here are some tips I have learned:

  1. When starting out, stick to questions you think you won’t need a lot of time to answer. You will still learn from the process and you’ll be more likely to give a good solution and get up-votes.

  2. There is some pressure to be the first to answer - don’t take this too seriously. Do your best to provide a good solution, even if others have answered already. There is a good chance you will still receive up-votes and earn some rep.

  3. If there are other solutions, make sure yours is significantly different - before I had the 50 rep needed to comment, I added to another user’s solution to make it more general. I genuinely felt my contribution better addressed the question, but this really should have been an edit or a comment, not another solution. It only served to make the original solution provider mad - so I deleted it.

  4. Be nice - In general, other users are nice to you if you are nice to them. Don’t act like your solution is the best and be respectful of questions and answers. You should learn from others’ solutions. If people are mean, don’t take it personally. As long as you act in good faith, this is their problem, not yours.

  5. Provide reproducible answers - just as questions should be reproducible, it helps if your answers are too.

  6. Provide some output from your solutions (like numeric results or plots). This way - users can see your results without running your code and quickly assess the solution.

  7. Some questions are marked as duplicates. While it is important to not have a bunch of repeat questions, many times there is still something different between the current question and the linked duplicate question. If this is the case, still try to address the question and be sure not to copy previous answers.

  8. Provide answers to more than one community. I’ve been looking on both SO and Cross Validated. Cross Validated is more about stats questions in general, not so much coding. It was fun to answer questions there too. Also, as you build rep in one community you can earn an ‘Association Bonus’ in another. This will get you past the 50 rep you need to comment - which is a very nice privilege to have.

While stackoverflow can be intimidating, I wish I began my active participation much sooner. I am sure I would be a better coder now if I had. Plus - it’s nice to have your solution recognized and know that you helped someone out.

Feel free to share other benefits/tips you may have!

Related

comments powered by Disqus