DEV Community

Rafiullah Hamedy
Rafiullah Hamedy

Posted on • Originally published at Medium

Contribution Debt: Why & How to Contribute to Stack Overflow

Why & How to Stop Procrastinating and Start Contributing

Stack Overflow is world’s leading Q&A sites for developers with over 18+ million questions, 28+ million answers and 11+ million users.

Alt Text

A huge majority of developers use Stack Overflow on daily basis and I would like to share my thoughts on

  • Why do I contribute?
  • How to contribute?
  • What are the benefits of contributing?


I joined the Stack Overflow community in 2012 and my contributions in the form of answering questions peaked between Nov 2015 — Feb 2016 which attributes to a huge chunk of my reputation score.

  • I have posted 168 answers and asked 22 questions with a people reach of roughly ~648K
  • I have ~5.2K reputation in Stack Overflow, 792 in Drupal Answers and below 200 in other communities
  • I have 27 helpful post edits, flags and casted a total of 585 upvote and downvotes

I am no rockstar contributor but, do I feel good about it? Ofcourse! I feel great to have been able to contribute back regardless of the quantity.

Alt Text


Why do I contribute?

Stack Overflow without any doubt has helped me countless times throughout my software development career.

  • Search for answers to specific questions
  • Clear my confusion about topics
  • Quickly learn about a topic instead of going through articles and books when I don’t have enough time
  • Come back to my favourite questions and answers

All of the above become possible because somebody, somewhere selflessly decided to share their knowledge.

I benefit from other’s contributions and this is good enough reason for me to contribute back and hope that my contributions help others.

I have come across developers who use Stack Overflow on daily basis and some of them have not even bothered to signup. Somebody asked about this in Stack Overflow.

Alt Text

While the accepted answer is not wrong, I still believe that you should sign up regardless of the reasons highlighted in the answer.

Remember! Signing up is the first step towards contributing back.

Alt Text


How to contribute?

Any kind of contribution that leave the community in a better state than you found it is a good form of contribution. For instance, any of the following is a valid form of contribution

  • You can improve the quality of a post
  • Ask good questions that has not already been asked
  • Answer question about a topic that you are knowledgeable
  • Upvote questions and answers that helped you
  • Downvote but, do not forget to share your reasons
  • Leave helpful comments
  • Vote in the community election
  • Motivate others to contribute back

Ask questions

The Stack Overflow community has come under the spotlight for not being welcoming to new users and questions however, there are many ways that you could ask a meaningful and welcoming question.

Alt Text

  • Make sure to read the necessary guidelines before posting a question. Read it here
  • Ensure that the question has not already been asked. If there are any related questions and does not necessarily solve your use case, then state that in your question.
  • When posting a question, be sure to share what you have done so far. This shows that you have put some efforts and done your research.
  • Make sure to format your question and use the appropriates tags
  • Do not copy/paste class assignments and projects
  • Do not cross-post your question to different communities and platforms

Alt Text

If you make a post, keep an eye on flags and comments and update your post to address the concerns of those who flag your posts.

Answer questions

Do not underestimate your ability to answer questions and there are many ways to do that.

Alt Text

I am not an expert in any of the above domains but, I know enough and have used it either at work or in side projects.

  • Configure your profile by subscribing to tags (i.e. java, typescript, react, etc.) and Stack Overflow will filter questions that match your tags.
  • Do not post an answer if your response can be a comment instead.
  • Before writing an answer clarify any confusions via comments.
  • Keep your environment ready to try something hands-on in order to validate your solution.
  • If you quote or copy/paste content from a tutorial, documentation, or another posts then make sure to link the source and give credit where due.
  • If you wish to gain more reputation tackle questions with bounties. These questions would require a little more effort.
  • If none of the answers to a question resolved your issue then, be sure to post the solution that fixed your case.

Alt Text

Answer your own questions

There will come a time when you won’t find an answer to your question in Stack Overflow. What do you do next?

  • Use your ninja search skills to look for answers to your question.
  • Consider posting a question in the Stack Overflow and hope that you get an helpful answer soon.
  • While your question is awaiting to be answered, do your research to find out an answer by reading the documentation, articles, books, and other materials.
  • If and when you find the answer then go back to your asked question and answer it yourself.

As weird as this sounds, IMO it is basically sharing your knowledge so that the next person who have stumbles upon a similar question could benefit from your findings. This is a list of questions that I asked and answered them myself and people have found it to be helpful.

I have a use case where I pull and plot Forex data in the form of ask and bid on the graph and this is based on minute, hour or day candlesticks and I am only plotting the closing value for bid and ask as a spline.

Issue

The…

I was playing around with financial charts and wanted to remove the weekend datetime from the graph.

I started to use Spring OAuth2 and in the process, I struggled to find relevant tutorials and content mostly because of the following

  • I did not want to use Spring Boot
  • I did not want to use Java configs rather xml configuration
  • I needed to customize Spring OAuth2 grant flows…

Likewise, I struggled to find answer to my non-Spring Boot related questions and when I did find the answers then I shared it.

I like Swagger because it makes your apis very user friendly. I use Swagger annotations like

  • @ApiParam
  • @ApiResponse | @ApiResponses
  • @ApiOperation
  • Others

On endpoints, query params, request params, request body and so on.

I like to keep my POJO classes clean and in general I try my best to follow…

I was using Swagger for my APIs and at one point I noticed that each endpoint has around seven (7) swagger annotations. I thought to myself, can I make these annotations reusable?

The following question was asked way back in 2014 and since a lot has changed and different versions of the framework has been released. None of the answers worked for my use case and I posted my own version of answer and not surprisingly 21 people have found it to be helpful.

I'm trying to set up HikariCP in my Spring Boot (1.2.0.M1) app so I can test using it in place of Tomcat DBCP. I'd like to configure the connection pool in my application.properties file like I was doing with Tomcat, but I can't figure out how I should be doing…

Upvoting and downvoting posts

There are many advantages when it comes to upvoting posts such as

  • Your vote help rank the posts
  • Your upvote shows your appreciation
  • Your upvote encourages the author to make more helpful posts

All you have to ask yourself is, did this question or answer help me? If yes, then upvote the question and answer. Simple as that.

When you downvote, be sure to provide a comment explaining your reasoning and keep an open mind. I have 3 downvotes and 566 upvotes.


What are the benefits of contributing?

In my opinion, it is the right thing to do and that’s is good enough reason.

Alt Text

Here are some of the benefits of contributing to Stack Overflow vs not contributing

  • Give back to the community ❤
  • Communicate with other developers
  • Share your existing knowledge
  • Acquire new knowledge
  • Learn how to write effective posts
  • Use your Stack Overflow profile elsewhere to promote yourself
  • Setup your job preference in Stack Overflow to explore jobs and receive offers

Conclusion

Thank you for reading. Please feel free to share your ideas, suggestions, feedback and strategies on how to get started and succeed at contributing to Stack Overflow community.

If contributing to open source interest you then you might find the following article useful.

I also wrote an article on some of the key habits that in my opinion would help you become a better developer.

Please follow me for future articles and feel free to add me to your professional network on LinkedIn.

Latest comments (2)

Collapse
 
rhamedy profile image
Rafiullah Hamedy

Seem to be a new feature, a higher reputation allows you to answer protected questions.

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard