2011 Microsoft Scripting Games After Action Report

I had wanted to participate in last year’s 2010 Scripting Games, but I was so busy at work the games were half over before I had a chance to read the rules. I decided that no matter what, I was going to make time for the 2011 Scripting Games.

I have been using PowerShell regularly for the past 18 months, so I was pretty sure I wasn’t a beginner. Although my results from the Scripting Guys’ PowerShell Quiz didn’t make me feel very advanced. I think I’m just bad at taking tests…yeah, that’s it. So I went with the advanced division, and wound up finishing 9th in the final standings.

Kudos to Ed Wilson for coming up with some great scenarios for the events. The focus on real-world tasks was evident, and I think there are a few scripts from the games that will end up in production use somewhere. Thanks also to Joel Bennet for dedicating his time to supporting the PoshCode site where all the submitted scripts can be found.

I think the best thing I could have done to improve my scores was to slow down. I submitted all my scripts within a day or two of being announced, and there were several times where I thought of a way to improve it later. Sometimes, like in Advanced Event 5, there would be some clarification added to the scenario. Next year, I’m using all the available time to revisit and refine my submissions.

Most of the time, I wasn’t trying to figure out how to get a task done. I already had enough experience working with PowerShell that I had a pretty good idea which cmdlets or techniques I would need to use. Instead my time was spent writing the help, making the code more readable, adding parameters to make the code more flexible, anticipating errors and handling them. All those extra bits of polishing that transform a “quick n dirty” script into a piece of enterprise-level production code. That turned out to be much more difficult than I thought it would be. I thought I had written some pretty good scripts in the real world, but it took an event like the Scripting Games to push me past “good enough.”

The comments are easily the best part of the games. Having your best work critiqued by others is a great way to learn where you need to improve. Thanks to everyone that left feedback on my entries. I know the judges can’t make meaningful comments on all the submissions, but they are extremely helpful, especially on poor scores. Receiving one star on a submission is bad enough, but it’s crushing when you don’t have a clue what you did wrong. I had a one-star script and I had a five-star script, so I speak from experience.

Speaking of the judges, they deserve a steak dinner or something for grading that many scripts. I went through some of the scripts to download, run and make some comments where I could. I can’t imagine trying to do that for some of the high level advanced scripts that were submitted. I’m looking at you, Advanced 8! There were some complaints about harsh judging, and I have to admit some of the scores left me a bit perplexed. After seeing the final results, I think there was really a need to grade hard just to get some spread at the top. There were tons of scripts that hit all the design points, but not everyone can get 5 stars on everything, so it’s necessary to be picky and subjective in some cases.

I had a real good time testing myself against others, and I’m happy with what I took away from the Scripting Games. I strongly encourage anyone working with PowerShell to participate next year, regardless of experience level.