Microsoft is introducing gamification into the Visual Studio environment. So, if you want to take up the challenge, you can show off your expertise with badges. Can they be serious?
Psychologists and educationalists have established the idea that combining games with chores and tasks has positive results.
Now Microsoft has embraced the idea of awarding badges to reward specific programming achievements - not the groundbreaking ones, but ones that go the extra mile in their everyday work.
The new Visual Studio Achievements Extension, is a plug-in that enables developers to earn badges and compete against one another for a place on a leader board based on the code they write, its level of sophistication, and the Visual Studio capabilities they use to do so.
The plug-in analyzes a background thread each time code is compiled, as well as listens for particular events and actions from Visual Studio. When certain criteria or actions are detected, the plug-in triggers a pop-up alert and awards a new badge, which is then displayed on the public leaderboard and the developer’s Channel 9 profile.
Badges can also be shared via Facebook so you can impress your mum or your kids, your colleagues or your boss about how good you are at your job and explain why you sometimes work long into the night.
According to the Technet blog post announcing the scheme, the idea originally came from a post in January 2011 by Rudi on the While True blog and the subsequent discussion on Reddit. Rudi's question was:
What if Visual Studio supported achievements, just like games on Steam, Xbox or PS3? Bragging to your coworkers about which one you’ve just unlocked, imagine that!
He went on to list a few ideas for achievements that would be badge-worthy and the Reddit discussion came up with many more.
The Channel 9 team, inspired by the benefits of gamification, took up the idea and the result is a set of 32 achievements with six categories and corresponding badges.
Visual Studio Achievements is intended to be:
a humorous community-building game as well as a path to the many, and, to some, unknown features offered in Visual Studio. This is one of several initiatives Microsoft is undertaking to recognize developers for their tireless and indispensable work.
Jeff Sandquist, Senior Director of Developer Relations at Microsoft explains:
"Now there’s a fun factor as well as a healthy, competitive environment for Visual Studio developers to show off their everyday contributions that are otherwise unnoticed.”
Some examples of individual achievements include Regional Manager (have more than 10 regions in a single class), Close To The Metal (use 5 preprocessor directives),Stubby (generate method stubs 10 times) and so on. There is definitely a sense of humour about many of the badges but can you resist a Power Coder badge?
On the other hand some are very definitely sarcastic. For example only a fool would proudly wear the "Goto Hell" badge which is for services rendered to the use of the Goto statement. And if you don't know why this is a negative achievement - go (to) look it up.
My favourite of all has to be the
Turtles All The Way Down
badge which is awarded for writing a class with ten levels of inheritance. Now is this one to wear with pride? I'd be torn because using a deeply nested class structure is bad but recognizing the infamous quote is good.
There are already add-ons coming from an initial and enthusiastic set of users - add your achievements to your blog and view on your smart phone and so on. You have to wonder if creating these counted to the programmers badge collection or is that ruled out by a recursive ban?
So if proof were ever needed it is now quite clear and beyond any argument that we do not program for money.
The latest version of Google Translate takes us a step further into a world where we'll be able to communicate without language barriers. This is a disruptive change that is happening without us reall [ ... ]
Ruby 2.2.0 has been released, as has Rails 4.2 The improvements to Rails include a new Active Job framework, which has enabled support for sending asynchronous mails, faster queries, a web consol [ ... ]