Getting in the Game
The object of this competition is not to be mean to the losers but to find a winner.
Simon Cowell
TopCoder is one model for using contests for serious business purposes, but there are others. Microsoft regularly screens potential employees through various contests and challenges. Its Imagine Cup winners get up to $33,000 and a trip to India to compete in the finals. Google's Code Jam has even higher awards, but in both of these contests the more likely payoff is that when you've finished and done a good job, you have significantly increased your chances of being hired by the sponsoring company.
So how do you learn more about programming contests? The websites for TopCoder (www.topcoder.com), Google Code Jam (www.google.com/codejam), Imagine Cup (imaginecup.com), the ACM International Collegiate Programming Contest (icpc.baylor.edu/icpc), the American Computer Science League for High School student competitors (www.acsl.org), and the International Olympiad in Informatics (www.ioinformatics.org) are good starting points. Also, the Algorithmist maintains a calendar of contests (www.algorithmist.com/index.php/Programming_Contest_Calendar); Ahmed Shamsul Arefin has written a book, Art of Programming Contest, to help students prepare for the ACM International Collegiate Programming Contest; and this year Andrew Trotman and Chris Handley published the paper "Programming Contest Strategy" (www.cs.otago.ac.nz/postgrads/andrew/2006-4.pdf).
One last point: Despite what I've said here about money and contests as a software-development model, the core of the experience is just plain competitive fun. Or in AleaActaEst's words: "This is beyond fun. This is uber-fantastic fun."