As any software developer that has searched for anything on the Internet probably knows, the Stack Exchange web sites contain an increasingly large body of useful knowledge. This initially included sites like stackoverflow.com for programming issues but has expanded into diverse areas like cooking, poker and lego. There is even a Stack Exchange site for questions about Stack Exchange.
This popularity is largely fuelled by gamification, where game design and theory is applied to ordinary tasks to make them more engaging. Stack Exchange does this primarily through reputation, similar to the XBox’s Gamerscore. Participants gain reputation primarily for asking or answering popular (up voted) questions. As participants gain reputation, they gain access to more privileges, eventually being able to effectively moderate the site.
There are also badges, akin to Xbox achievements. A bronze badge is given for simple things like completing your user profile or answering your first question. Silver and gold badges are awarded for harder things like asking or answering questions with many up votes.
Interestingly, Stack Overflow has reportedly been used by some to demonstrate competency when applying for jobs and Stack Overflow now has a careers site that requires a minimum reputation to enter. This made me wonder how difficult it would be to gain Stack Overflow reputation, say 1000, by genuinely trying to help others and participate in the intended spirit.
I registered on stackoverflow.com at 2:39pm on Thursday 30th August 2012 (Sydney, Australia time) and exceeded 1000 reputation at 10:44am on Wednesday 5th September with 850 reputation (tracked separately) on programmers.stackexchange.com, a site dedicated to software engineering and architecture rather than low-level programming issues. Indeed, Stack Exchange makes this “flair” available showing my very modest reputation and badges:
Although it was only six days, it was a significant time sink. Many hours were spent each day looking for questions to answer and formulating responses. Reputation (in the form of up votes) and answers often go to the first to answer so people learn quickly to provide a simple response then add more detail (and preferably sample code) later. Another strategy is seeking older, unanswered questions but the easy ones are probably already answered and such answers are unlikely to receive many up votes.
Answering questions on Stack Overflow is a lesson in humility. People often give better answers more quickly than you can type them, even in areas you consider yourself an expert, or radically different solutions. A diligently researched and prepared answer may be ignored or a negative comment may incite down votes. This can be frustrating but it can make Stack Overflow a great learning experience because the penalties for being incorrect are minor compared to the rewards of success. It is worth having a guess and let the more knowledgeable correct any mistakes.
Indeed, the reputation system provides surprisingly few opportunities for abuse. For example, someone could up vote a question they have answered (to put it back near the top of the list, looking for other’s up votes) and down vote others’ answers but up votes and reputation from up votes are capped per day. (Please note I didn’t try it. As I said above, the intention was to participate in the intended spirit.)
However, Stack Exchange is far from perfect. It does not guarantee high quality questions. Many are answered by a simple Internet search or are poorly expressed but they usually disappear quickly as the good questions are up voted. Questions on niche technologies may also languish unanswered and, when they are, lack a critical or interested population to up vote them. Like any Internet community, it is also cliquey with long established members.
Overall, I was impressed at the depth and breadth of the community and the site’s reward system. I doubt I will have the patience and dedication to reach the 400,000+ reputation some have earned but the temptation to refresh the page to see if there’s one more question you can answer is there. Answers marked correct by the question author are usually (but not always) thorough and correct and other answers or comments often contain good supporting information.
Many years ago, a potential employer could only verify one’s expertise by contacting old employers or limited technical questioning. Although not a substitute for these, Stack Exchange is one opportunity to demonstrate ability outside previous employment or education. The most telling aspect is the career’s page lets you link your best answers and highlights technologies you have participated in rather than list reputation and badges. My modest stack overflow reputation will not be appearing on my CV but maybe I’ll try to get to the next level, err, get more reputation on the stack overflow MMORPG.