It’s been a great winter month, and I’ve finally started my StackOverflow journey. I had a goal of reaching 1000 reputation by New Year’s, but I’ve already surpassed it by 122 points (at this moment) with 9 days to go! StackOverflow has become an important part of my schedule.

Here’s is my profile - martianwars.

Getting Started

StackOverflow can be very intimidating at first. More so for me, as I’d received a large number of down-votes for my first few questions and answers. But it’s a lot of fun once you know the tricks of the trade. Here’s a short summary -

  • Goal Setting - An important thing I’ve learnt this year is “goal-setting”. If you want to achieve something, you have to keep a target in mind. More importantly, you have to write it down somewhere. A location which you will keep looking at every day. For me, it was my whiteboard. I wrote down in bold letters <days left> vs <points to 1000> and updated it daily.
  • Correct Questions - Rather than being a jack-of-all-trades, it’s better to focus on a particular tag and just answer questions with that tag. Here’s what you must consider while choosing your tags -
    • Know Your Stuff - Obviously, make sure you know the stuff in the tag you plan to contribute towards. If you haven’t got a solid understanding, you will end up writing poor quality answers and will not earn points.
    • Language Tags - If you choose tags like python and javascript, you will have a plethora of questions to answer. While this might sound good, you have a lot of competition. To answer the new questions, you will need to be fast. Too fast.
    • Upcoming Technologies - Some tags like tensorflow get a good number of questions every day but do not have a lot of StackOverflow enthusiasts, especially the upcoming technologies. These tags are best, since you generally have all the time to write quality answers, and your answers are likely to get upvoted in the future.
  • Answer Quality - Most important. Fill your answers with top-class text formatting, links to official documentation, a “TL;DR” section and most importantly a code snippet. This is the only fool-proof way getting reputation. This is what makes StackOverflow so awesome.

My Journey

I’ve been a member of StackOverflow for over a year. In the beginning, I got a large number of downvotes and I was banned from asking new questions. It was just recently (November), that I was allowed to ask a question, which was well-received. Here’s what I was doing wrong earlier -

  • Low Quality Questions - Now as a contributor, I understand which questions are good and fun to answer and which are not. Well researched, minimal snippet, well formatted questions. I was doing none of that. Here’s a great article to read - How to Ask?.
  • Unrelated Answers - DO NOT answer a question you do not know, even if you might have done the same thing in a different language. You may leave it as a comment, but that’s not an answer and it deserves downvotes. There is a review queue for answers by newer users and these answers are thoroughly screened.
  • No Tags - I didn’t have any particular tag in mind, and that’s why I felt every question was so difficult. It’s better to have a more systematic approach and answer in what you know best.

So how did it start? This question. I took extra care to ask the question in the best possible way, and it was well-received. I finally ended up answering it myself, taking inspiration from the other answer in the question. I got two upvotes, and it was the best feeling ever.

My endsems were over, and I had a VHDL project to complete. I decided to attack the VHDL questions and old un-answered Python questions. I ended up writing over 15 answers in the first week, and managed to grab a few upvotes / accepts. There was just one idea in mind, maximize the quality. It worked.

I kept a goal of reaching a 1000 points by the end of the year. Bit by bit, I was making steady progress. Having a higher reputation makes people appreciate your answers more. It also implies your answers need to be better! I finally settled down on the tensorflow tag, as it’s what I’ve done most of December.

A Bounty!

All seemed well, and it looked like I will just manage to reach my target. Until this question. A 50 point bounty, and a reasonably simple question. The best part? There was no answer to it. I spent the next half an hour drafting the best possible answer and it worked out! I won the bounty and got an additional 75 points. I was very close now.

The next day, I wrote 5-6 answers, all of which were accepted and received 1 or 2 upvotes. I sailed through my goal and I was awarded the title of a “Established User”!

What’s Next?

I’m not stopping so soon! I want to get to 10000 reputation (by the end of next year?) and become a “Moderator”! I will be trying to focus on the tensorflow and numpy tags, along with anything new I learn over the next few months. More importantly, I will try to answer “tumbleweeds”, or questions which don’t have any answer or comment. Over time, I do intend to move to the harder questions, requiring significant time and research to solve.

Why should you StackOverflow?

  • Learning - You get to learn a lot, trust me. I’ve learnt so much more numpy by trying to help solve people’s questions and looking at non-StackOverflow resources for a change.
  • Reading Documentations - It’s the first time I’m actually reading a lot of documentation rather than just clicking on StackOverflow answers. This is a good way to start loving docs!
  • StackOverflow is Important - We all depend so much on StackOverflow. Why not give something back to this wonderful website? The world depends on it, let’s make it the best possible!
  • Great People - The world’s best software guys are on StackOverflow. It was just yesterday that the author of y-cruncher, the world record holder for the number of decimals in PI, commented on my post. It’s inspiring when they help you / like your efforts.