Stack Overflow

by Rob Cooke 28. July 2010 05:50

If you've been coding with any kind of newish technology recently, you've undoubtedly ended up on Stack Overflow at some point or another. For the uninitiated, Stack Overflow is a site for programmers helping programmers. More than just a question-answer forum dedicated to specific technologies, Stack Overflow has a global board that allows anyone who knows about any question to post an answer without having to drill down to dedicated boards. This lets each question hit a much larger audience than a question to a specific board might otherwise receive. To further encourage responses, there is a reputation system in place that allows users to build reputation for asking particularly good questions or giving particularly good responses. As users gain more reputation, they gain more rights in the system to the point where users with very high reputation have moderator-like rights such as editing or removing posts by other users. Additionally, users can use their reputation to place bounties on difficult to answer questions or to down-vote poor questions or responses. Beyond the reputation system, there is a badge system that give badges to users for achieving certain "in-game" goals.

I've known about Stack Overflow for a couple of years now, but my involvement had been mostly limited to reading questions and responses that showed up in a Google result list. I had given a few responses anonymously, but I had never asked anything on the site and I generally didn't browse questions outside of what I was currently researching. It wasn't that I wasn't interested in the content or community, it was just that I was usually able to find my own answers with a pretty good certainty. In the last few months, however, I found myself hitting the site more and more and whenever I'd look up a specific question, I would inevitably visit the main page just to see what other people were asking about. Finally, at some point or another, I started running into questions to which I had good responses and I broke down and made a login. This has really changed my perspective on the site!

First, I was taken back by how addictive the site is. You start getting reputation and badges right off the bat and it very quickly becomes a game and you'll find yourself refreshing the site every few minutes trying to catch good questions to answer.

The technology agnostic format of the site really provides for developing a broader awareness of technologies. I may be an expert C# developer, but I know next to nothing about Ruby or Objective C. Reading questions about Ruby and Objective C adjacent to questions about C# increases my awareness of these technologies -even if I'm not actively using them in project. Moreover, it may inspire me to take a closer look due to the "I didn't know you could do that..." and "That's a cool language feature..." effect.

Gaining reputation is easier than I expected. You get a fairly good serving reputation for every up vote your question or response receives.

Answering questions is harder than expected. Easy questions are typically answered in seconds by other posters. Even if you are quick enough to get one of the first responses, there is a chance that a particularly easy question will be closed as a duplicate or down voted for being too trivial. Questions that have been open for more than a couple of hours are often difficult and may require deep research or coding before you can even get an answer. It's kind of frustrating to spend an hour digging up something obscure only to refresh the post and find that someone else just posted your exact response. At that point you just hope that you have something more to add to it!

Even questions in your area of expertise can be difficult to answer. With so many experts swimming in the pool, anything that hasn't been snatched up is likely to be something obscure or extremely deep. These kinds of questions can do a lot to improve your understanding even of technologies you've been using every day for years.

All said, participating in Stack Overflow is a surprising amount of fun. It's great mental exercise and provides amazing opportunities to deepen your knowledge about technologies both in and outside of your area of use.

Tags: ,

Programming

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Powered by BlogEngine.NET 1.6.1.0
Theme by Mads Kristensen | Modified by Mooglegiant