Contests as a Career
The artillery department gave the specs for a new weapon. We had to improve on it or be eliminated from the contest.
Mikhail Kalashnikov
TopCoder's first competition was a 90-minute algorithm test, measuring speed and accuracy. Today, they run several kinds of competitionsdesign contests, development contests in which every competitor writes the same code and the reviewers write test cases against that code, and assembly contests that produce full component-based applications.
TopCoder's contests generally take a week. A dedicated individual, participating part-time, can do one or two designs a week, AleaActaEst says, which could put up to $3200 in your pocket in a good month. TopCoder calibrates the awards in the contests to ensure, in argolite's words, "not only [that] someone will participate, but that the quality of the competition will be high." A competition may involve five or six competitors, meaning that you really do have to do your best to get one of the top spots, but it's not like winning the lottery: A talented programmer can count on racking up wins. Move up to full-time competing and the payoff ramps up. "Some of the top designers could make something like 40,000-80,000 per quarter. This is a combination of actual design winnings, reliability bonuses, and something known as Digital Run points, which pay per quarter for the top designers or developers who compete and deliver components."
TopCoder's Director of Communications Jim McKeown says that every programmer who participates gets something for the effort, even if it's only an education. This is because the entire process, including the reviewers' criteria, is highly transparent. AleaActaEst confirms that this is not just PR spin: "There is one amazing aspect of the TopCoder process that I really like: transparency and availability of winner's designs to peruse. The ability to look at the winner's design and learn from it is quite amazing. Imagine, especially for the newer technologies, that you have a full example of a working component...invaluable for anybody who wants to learn."
Win or lose, it seems like it's a win-win-win for the competitors, TopCoder, and TopCoder's clients. Argolite: "I would say it is akin to having an interview on the job, where if it does not pan out for an individual, there is no cost to TopCoder or their clients, since there will be someone that will succeed in providing a good product. Instead of wasting resources on advertising, interviewing, and then potetially seeing a resource not pan out, anyone is welcome to try to prove his/her worth."
Last year, TopCoder was granted a patent for their contest-based approach as a method of developing software.