Effectively use StackOverflow as a contributor

Effectively use StackOverflow as a contributor

A couple of colleagues asked me last week how I manage to wade through StackOverflow to find interesting questions. They also asked why I'm active on Stack overflow at all. Let's first dive into a couple of tips for more effective management of the incoming flow of questions and then I'll try to explain what I get from being active on forums like MSDN and Stack Overflow.

Stack Overflow
Stack overflow has a number of built-in features that help you weed out the interesting stuff from the rest. Let's go over them one by one:

Favorite Tags
You can tell Stack Overflow which topics you're interested in by telling it your Favorite Tags. Sometimes it makes assumptions based on the topics you regularly contribute to and will add new tags to your favorites automatically.

As you can see, questions matching your favorite tags will be highlighted in Yellow on every list view inside Stack Overflow.

Favorite Tags Macro's
What few people know is that there's actually some sort of macro language you can use on your favorite tags. If you've been using the site for a while, you'll probably have seen the [Visual-Studio-2010], [Visual-Studio-2012] etc tags and between versions there are not so many differences that you'll probably be interested in both tags anyway. The simplest way to be subscribed to the [Visual-Studio-*], that way whenever a new version is released, you'll be subscribed automatically.

Another Tag Macro I use is the one that only highlights questions when they have a combination of tags. For example, I might know Regular Expressions, but my Perl is pretty rusty. So I want to limit the list of questions to those that are about [Regex] and [.NET] for example. You can do that by adding the following Favorite tag: [Regex+.NET]

Ignored tags
Similar to Favorite Tags, you can also add a list of ignored tags. These questions will be greyed out so that they won't attract the attention of your eyes. My Ignored Tag list is pretty short, I only have [C++] on it, simply because it shows up a lot in combination with my favorite tags, and I don't know much in terms of C++, at least by far not enough to provide proper answers.

Stack Exchange Filters
Now, what not may people know, either, is that StackOverflow is part of a much larger collection of sites called StackExchange. By navigating to the "parent" site, you'll have some options that allow you to quickly get an overview of all questions that match pretty complex filters. I haven't used these filters a lot, there's one that does what I'm after: The Favorite Tags filter. This page will show all the questions that match your favorite tags across all the Stack Exchange websites you're participating in.

Rss feeds
Almost every page on StackOverflow that shows a list of questions, has an RSS feed available. Once you've found the page that shows exactly what you're after just point your favorite feed reader (mine is currently Feedly) to it and it will load up the questions you find interesting. For example the "Unanswered Questions - My Tags" page. Or the previously mentioned Favorite Tags page on Stack Exchange.

Find the right site
A few of my colleagues are more into Business Intelligence, SQL and complex queries. They were lamenting the quality of the questions and the amount of interest their questions were getting on Stack Overflow. They were unaware of the fact that there is a dedicated site for Database Administrators, ITPro's, Server Admins and Project managers. Asking your question to the right audience greatly improves the chance of getting the proper answer. And vice versa, if you're looking to do some community support, the more interesting questions can often be found in different places as well.

Get an account now
Even if you're not seeking to actively participate in the StackOverflow Community, get an account and at least up+vote questions you too ran into, as well as vote and comment on answers that did or did not work for you. That way you'll start to build some credit yourself and you'll support the volunteers that help maintain these site in their spare time. Creating a new account is very simple if you're using Google or Facebook, there's really no reason to not take that minimal step.

Reputation helps
Some features on StackExchange require you to have a minimum amount of reputation. You get reputation by asking questions and by providing answers. Once you get over the minimum bar of 15 (requires you to answer one question), you'll be able to do the most important things. From 75 you'll be able to set a bounty on your question to attract more attention.

Answering your own question
A quick way to receive some reputation is to post interesting problems you've faced and provide your own answer. Basically you're sharing some of your lessons learned to the larger audience. I often do this for strange issues that happen in Visual Studio and that are not covered by an issue on either Connect or a KB article. Others are bound to run into the same issue and will (hopefully) upvote both your question and the answer.

Link to your blog for extensive answers
While Stack Overflow wants you to at least answer the question on their site, I find it that sometimes you want to provide additional background information, or explain how you've found the answer so that others might not have to figure that out for themselves when faced with a similar issue. I tend to include a link to my blog for such items. I tend to link my blog post back to StackOverflow as well (use the "Share" option for that. Sharing a Question or Answer will let StackOverflow track that you're pulling in additional attention. There's a few achievements for that:

Bookmark your pages
Almost every filter setting you do is reflected in the URL of the page. Very often saving a specific layout is very easy to do, just put the URL of your page in your bookmarks,

Setup email alerts
I've enabled email alerts only for when people respond to a comment, question or answer I posted. I've turned off all other alerts. And then I've setup an email rule in Outlook to put all of those messages in a separate folder and not show an alert in Windows. If you don't, at some point you'll need to remove the speaker from your laptop ;).

MSDN Forums
The MSDN forums have a few similar features, though they're slowly being hidden away by Microsoft. Not sure why though. Every forum at MSDN has a couple of filters to weed out any questions that have been answered before. These questions might be interesting to read for your own personal learning, but they won't bring you any forum points.

MSDN doesn't use tags like StackOverflow does, instead questions are grouped into forums. So you'll need to figure out which forums you find interesting. Once you've done that, you can setup a page with the right for these forums:

1) Select the right forums
As I mentioned, you can add one or more forums to the view by searching for a topic in the upper left corner of the page. There are quite a few, and depending on the language site of MSDN you're using you might find different forums available to you. I keep myself consigned to the English forums, it's where most of the discussion seems to take place.

2) Set the filters
Open the drop-down to set your filter. If you're interested in contributing to the community and solving some hard questions, then the "Unanswered" filter is for you. "Unanswered" + "Helpful" means that others have already upvoted the question, but that no answer has been supplied yet. These are often the harder nuts to crack.

3) Then finally you can either sort by Post or by Thread.
Sorting by post will put the questions with the most activity on top. Sorting by Thread will put the most recent questions on top. Most recent questions often have no other community members looking at them, while most recent posts often already have a few people asking the basic troubleshooting questions.

Rss feeds
The MSDN forums used to have an RSS feed option as well, simply putting &ouputAs=RSS used to do the trick, but recently that has changed. My old feeds are still working, but currently there is no easy way to build an RSS feed based on your configured page.

Bookmark your pages
Almost every filter setting you do is reflected in the URL of the page. Very often saving a specific layout is very easy to do, just put the URL of your page in your bookmarks,

Setup email alerts
I've enabled email alerts only for when people respond to a comment, question or answer I posted. I've turned off all other alerts. And then I've setup an email rule in Outlook to put all of those messages in a separate folder and not show an alert in Windows. If you don't, at some point you'll need to remove the speaker from your laptop ;).

So, Why?!
There are a couple of reasons why I'm active in the forums, some I've already alluded to, but I'll go over them below:

I've learned a lot from asking questions
Over the years many of the hardest problems I faced and some of the most obscure Exceptions I found in my logs were solved by browsing the forums and asking questions. There are always a few community members online it seems.

I've learned a lot from answering questions

While I know quite a bit about ALM, Scrum and Visual Studio, it's hard to know everything. As a trainer and coach one is confronted with the most creative questions both by clients, trainees and colleagues. I've found that actively seeking out the type of questions I might get asked and, in my own leisure, figuring out the answers (or at least the solution direction) to these problems, I'd be better at my job.

Now when I want to learn a new topic, PowerShell is a recent one, I subscribe to that Tag on StackOverflow and try to answer questions asked by other newbies like me. Looking at answers other, more experience folks add to these questions allows me to improve quickly.

I've learned to ask questions and answer questions

On forums you see a lot of question that one can't answer without getting more context. One of the things you'll learn is to spot a good question. Another thing you'll learn is to provide a clearly worded answer, one that doesn't result in lot's of additional comments.

It's a great way to find inspiration to write, blog and present about

Topics that receive a lot of questions, are often topics that haven't been documented as thoroughly in the MSDN library or are topics a lot of folks are struggling with. Otherwise the question wouldn't have been asked in the first place, Google would have provided the answer immediately. So these questions are great topics to write about, but also to present on conferences and community meetings.

It's a great way to attract traffic to your blog
MSDN forums allows you to configure a forums signature. StackOverflow allows you to put a link in your profile page and when answering questions I can often refer to posts I've written before. A large portion of my blogs traffic is coming from answers posted to these community websites. As many of you know, Search engines use the number of other domains and pages that link to your own to calculate your Page Rank.

It's helped me remember stuff
Scott Hanselman once mentioned that he sometimes runs into an issue, hits google to find the solution and ends up on his own blog 2 years back. I've had that happen too. I've also had it happen that I did not blog or give back to the community and later found that my email archive didn't go back far enough either. I had to reinvent the wheel, solve the same puzzle twice or keep entering search terms to find that one hidden KB Article on TechNet. I've started to consistently blog strange error messages, but also put them on Stack Overflow. Often self-answering directly after posting the question, since I had already figured it out. Later I keep finding my own answers when I run into them again. And I hope I'm not the only one :).

It's a better use of my time than playing games and solving sudoku's

Once in a while a new game on my phone would grip my attention away. Before you know it, you're playing it for hours on end. Dragon Fly was one and there have been others I'm less proud of. I now prefer to help others and learn at the same time. Or play my games with friends, instead of alone behind the screen.

It's fun

I'm one of those people that's sensitive to achievements and collecting. I just am :). I'm even more sensitive to positive comments, who isn't?! Sharing with the community is fun, you learn from it and it is rewarding at the same time because you'll be helping others.