I first heard about the world of online competitive software development from an announcement on Slashdot back in 2003. It guided me over to TopCoder to sign up for the second annual Google Code Jam .
I think I missed (by mere minutes) the registration deadline for actually competing in Code Jam, but since that introduction, I spent a little time on TopCoder over the years. It was extremely cool to be able to hop online and develop solutions to competition-style algorithms problems against some of the most brilliant algorithms guys in the entire world. Sometime soon, I hope to have some time freed up to give it another go.
Since then, TopCoder has added many types of competitions other than algorithms, including Architecture, Assembly, Testing, Design, Development, and more. I haven’t tried any of the competition formats other than the original Algorithms competition, but many of them actually have a cash prize purse.
At any rate, back to Code Jam. Google ran the first six Code Jams on the TopCoder engine, but this year made the switch to running on their very own AppEngine. They’re going to allow you to download a dynamically-generated question in the style of the Google Treasure Hunt 2008, and you’re then on the clock to upload a correct set of answers back to their AppEngine app for scoring within the allotted time.
One of the biggest improvements that results from this switch is that you can now use any programming environment that you’d like. The only requirement is that it runs on your computer. Gone are the days of choosing one of TopCoder’s 4 languages (C#, C++, Java, or VB.net), Google Code Jam’s 5, or the 22 supported by the ICFP’s official LiveCD.