About one year ago this month I joined StackOverflow and started participating. I wanted to take a few minutes to reflect on my experience the site. First off, why did I start answering questions?

  • A living portfolio; My StackOverflow profile is something that’s constantly growing and that I can show to employers
  • Learning. Just spending time on the site allows you to learn new things.
  • Helping others. I use tons of free software every day. This is my way of giving back.
  • Pick up new problem-solving skills. Seeing the ways others answer questions gives you a view into their thought process. Seeing solutions that you wouldn’t necessarily have come up with yourself adds tools to your problem-solving toolbox.

When I started out, answering questions was a horrifying prospect: I’m going to put something on a high traffic programming site for other people to vote on? I was sure I’d mess up and get downvoted. Over 500 answers later though (and a 15K reputation), my stage fright has subsided.

I started out motivated by the reputation system (it’s addicting). After a while though, there has to be another motivator. For me, that motivator is the knowledge that with an answer you might be helping thousands of people all over the world Googling for a problem. How cool is that? There’s also the fact that you’re learning too when you answer a question.

I quickly figured out what makes a high-quality answer (beyond the qualities of a simply “good” answer):

  • Provides a working code sample
  • Provides a good explanation of that sample (just giving people code isn’t helpful after all)
  • Links to relevant documentation
  • Link to a demo, if possible

The last point (linking to a demo) turns out to be very important. If the asker can take your code and play around with it immediately, you’re much more likely to get more upvotes and that coveted green check mark. It’s hard to argue with a working example.

For that reason, I quickly gravitated to the JavaScript, jQuery, and jQueryUI tags. With those tags, I can almost always provide a working example in an answer. JavaScript sandbox site JSFiddle proved invaluable for providing working examples.

After spending some time in those tags, I noticed the “fastest gun in the west” problem. Since I wanted to provide high-quality answers in crowded tags (where answers to simple questions are posted very quickly), I started to get more specific in the tags I watched.

Specifically, I moved toward jQueryUI-Autocomplete. Not too many people were watching questions about that widget, so it gave me more time to come up with a high-quality answer. At the same time, jQueryUI is a popular enough framework that my answers did get attention.

This is probably my biggest tip for new StackOverflow answerers: If you’re overwhelmed by the quick answers and high activity in tags, find a specific type of question within that tag to focus on.

I also set goals while on StackOverflow. I wanted to get 10K reputation by the end of the year (which I’ve met and exceeded). I also wanted a silver badge (400 upvotes) in the jQuery tag. Setting goals like this keeps it interesting. You can set goals for each tag and increase your own knowledge of a particular tag substantially.

My goals for next year include:

  • Getting a gold badge in jQuery (1000 upvotes)
  • Getting a silver badge in C# (yep, I need to branch out)
  • Edit 600 posts

The most valuable thing I’ve gotten out of StackOverflow over the last year? Better communication skills. I believe my ability to communicate a technical problem with other technical people has improved substantially. Part of providing a good answer is providing a clear explanation. This skill translates directly into the professional world.

Good luck out there, and don’t hesitate to sign-up and start answering.