A little History
A few years back, when I started getting into programming, I googled a lot of the problems I was facing during the day and mostly found my answers on StackOverflow. The place that every programmer is kind of dependent on. I still face problems and I still find my answers on StackOverflow. Something has changed, though. I don't only consume content on the website but also contribute to it. Until May 2017, I didn't even have an account on StackOverflow. At this time, I was getting interested in knowing how it's like to answer questions instead of just reading them. I enjoyed helping others to solve their Kotlin-related problems ever since I started learning the Kotlin programming language. This was my initial motivation for creating an account and contributing to StackOverflow.
The Kotlin Gold Badge
A few weeks back, after 10 months of answering about 400 questions, I was awarded the golden Kotlin badge, which means that I spend quite some time on the platform already. I was always motivated to receive the badge since only three other people got it by then. You can become kind of addicted to answering actually... 😉
Teaching improves yourself
When I began with contributing to StackOverflow, I had to realize that it can be quite hard to give answers on the fly. It's not that easy. You most often need to think about the way of looking at the problem from the questioner's point of view. Regularly, you'll find yourself researching for answers by studying the documentation, forums and other resources. Most questions also require you to solve the presented problem in your own IDE before coming up with a solution. It can be really time-consuming if you really try to understand other people's problems. Nevertheless, the whole effort was totally worth it since I learned so many things about the Kotlin language itself and also about problem-solving in general. You don't always know the answer to up-showing questions immediately and therefore have to put in some thoughts. This is always helpful and very valuable.
Give something back
What I also learned during that time is the fact that you shouldn't always just take. In the case of StackOverflow, it's almost disgraceful if you only read posts without telling the authors that their work helped you. I did the same for many years myself. You don't need to feel bad about it but please take into consideration how much effort has been put into the questions and answers posted there. It really isn't that hard to actually vote on these posts. If you don't do this yet, create an account right away and give something back to the people you learn from.
Why you should start contributing
In my opinion, contributing to StackOverflow is a good thing for many reasons. It's obvious that you'll learn something from teaching and help others inescapably. Whatever topic you choose to participate in, you'll be better at it afterward. More importantly, you'll learn to value the contributions of the fellow answerers. You'll recognize that it sucks if you don't get up-voted by the people that consume your knowledge for free and you'll probably never leave good answers (to the problems you searched for) without voting for them anymore. Even if you don't want to answer questions, voting should be the least you should start with. If you're willing to become an answerer though, I'd recommend choosing a niche topic like I did with Kotlin (which still needs expert contributors!). Entering tags like Java, on the other hand, is much more difficult because so many people are already involved in it.
Interestingly, I started a quick poll on Twitter which confirmed my assumptions: Most developers consume but don't offer knowledge on StackOverflow.
I hope this makes sense and provokes a few readers to follow my advice.
I have to admit that I have experienced the StackOverflow community for just a short period of time and in the niche area of Kotlin, a language that still isn't mainstream. I understand that StackOverflow is not just good and there are reasons you can criticise it for. If, after reading this article, you're willing to learn from StackOverflow users, that have experienced the bad habits of the website, you should definitely read this post: My Love-Hate Relationship with StackOverflow.
Simon is a software engineer with 9+ years of experience developing software on multiple platforms including the JVM and Serverless environments. He currently builds scalable distributed services for a decision automation SaaS platform. Simon is a self-appointed Kotlin enthusiast.