There is a community most developers have visited at least once while coding. It is Stack Overflow (https://stackoverflow.com).

One of my developer study bucket-list items this year was to use Stack Overflow seriously. This post summarizes what I learned from that experience.



About Stack Overflow

What kind of community is Stack Overflow?

As we know, it is a place to ask and answer questions on many programming topics. It is not only Q&A; it also supports many activities based on a score system called Reputation. Within Stack Overflow, reputation is important enough to be described as “how much the community trusts you.”

So useful activities can increase your score, and harmful activities can decrease it. You can still read posts or write answers even without reputation.

When Do You Gain Points?

  • You accept another user’s answer to your question: +2
  • Your question gets an upvote: +5
  • Your answer gets an upvote: +10
  • Your answer is accepted by the asker: +15

When Do You Lose Points?

  • You downvote another user’s answer: -1
  • Your question gets a downvote: -2
  • Your answer gets a downvote: -2

Based on this system, you get privileges in the community. Depending on privilege level, you can edit others’ questions and answers, and even vote to recommend deletion of posts created by others.

stackoverflow privilege

Beyond privileges, badges and rankings also encourage active community participation.



Mechanisms That Build Trust in Stack Overflow

Stack Overflow has mechanisms to maintain question and answer quality.

In some cases, you cannot delete your own posts freely, and comments can be edited only after a certain period. Even simple comment posting is allowed only for users with required privileges.

You can answer your own question, but only after some time has passed, and you cannot receive related rewards. If abnormal reward patterns continue, the system may treat them as abuse and deduct points.

At first these restrictions can feel inconvenient, but they are also part of what makes Stack Overflow more trustworthy.



Usage Review

Growth and experience points I observed while using Stack Overflow

Starting this year with “use Stack Overflow community seriously” was a good decision. I could not do as much as planned, so I still have regrets and think “I should have started earlier.” Still, with limited personal time after work, I saw faster practical results.

Here are benefits I gained personally:

First: Better problem-solving and debugging skills

Reviewing code is difficult, and it is harder when the code belongs to someone else. Stack Overflow gives access to a wide range of issues experienced by developers worldwide, and a chance to study their code. This reduced the burden when reviewing colleagues’ code in real work. While searching for better approaches, I also discovered libraries and methods I did not know.

I also posted my own question about JAXB event handler usage when I was blocked at work (link below). It gave me not only hints for solving the issue, but also a chance to discuss with multiple developers.

Second: English learning effect

When learning a new development skill, reading code in books helps, but writing and executing code directly improves faster. In the same sense, I think English is similar. Stack Overflow can be a strong place to practice writing technical English sentences.

If your question or answer has grammar issues, other users often leave edit suggestions directly. So you can receive practical English correction feedback for free. No need to be embarrassed by mistakes. Personally, learning from mistakes and practice is effective. No one starts perfect. (And we still have Papago and Google Translate.)

Finally: Motivation

Looking back, this was a meaningful source of motivation. Each time my questions or answers helped someone, or I unlocked a new privilege, I felt achievement and stimulation I had not felt in a while. As that continued and I stayed active, reaching top 4% in 2019 reputation gain felt especially rewarding. (Unlike all-time ranking, yearly gain ranking resets next year.)

stackoverflow yearly ranking

My actual goal this year was 1,000 reputation to obtain the Established User privilege. As scores accumulated, results appeared in my profile monthly and quarterly. It was quite rewarding.



Closing

There are many benefits for developers. But it does not have to be Stack Overflow.

Of course, interests differ. Some people may have no interest in this kind of activity. Some may value direct offline teaching more, or find motivation in non-development activities. Some may not need external motivation at all.

These days, I also feel more motivated by non-development activities like rest during personal time. I started a game recently called League of Legends and staying up late somehow made me focus more at work. (I’m not good enough to win quickly, so I keep playing until dawn.)

This year I focused on Java topics, but next I plan to challenge areas such as Spring and Vue.js.