Fun with Visual Studio Achievements
The lions-share of employees here at Mercury New Media are software developers, or are at heart anyway, and as such embrace our “inner geek” on a daily basis. We are all gamers of one type or another so the notion of game Achievements is second nature. Most all games seem to have some notion of “Badges” or “Achievements” now of one type or another, whether PC, console or mobile device. The idea of an Achievement, for you non-gamers, is usually an in game award of some type for performing a difficult task. Typically, there is a public forum where people can view other people’s achievements and brag about their own. Facebook games usually have achievements posted to the community.
At Mercury New Media we develop software using a development program made by Microsoft called Visual Studio. Recently, one of our team members discovered that there is a plug-in for Visual Studio which gives out Achievements when certain coding tasks are achieved. How cool is that? Of course we developers immediately started attempting to earn badges and found it to be a fun challenge.
The plugin was created by Microsoft and runs in the background as you write code. Each time you compile, the plugin examines your code and determines if you have done anything “worthy” of unlocking a badge. However, “worthy” might not be a good description since you have to go out of your way and write some fairly horrible code to unlock some of the funnier badges. Once you have installed the plugin, you can sign into channel9.msdn.com and view your awards.
It’s interesting how much you have to deviate from standard coding practices to earn some of the awards. There are several awards that might actually make a developer new to the profession notice bad habits. Or, after earning an achievement realize “I don’t ever want to code like that again”. The pursuit of other badges help to promote features of Visual Studio that some developers might not know exist. There are also a series of badges designed to introduce developers to new technologies such as Windows Azure and Windows Phone 8.
Here are a few examples of my awards and potential lessons learned:
Interrupting Cow |
Lesson Learned: I needed to re-factor |
Scroll Bar Wizard |
Lesson Learned: 300 characters? Sheesh! But, makes you mindful of code readability. |
Using Just What I Need | Lesson Learned: Get in the habit of removing unused code. |
Of course we don’t spend much time in the pursuit of these but it is fun to see one pop up every now and then. You think “cool, I just got an achievement” usually followed by “uh-oh, what the heck did I just do to get that”?