Channels ▼

Web Development

There Must be Contest

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 (, Google Code Jam (, Imagine Cup (, the ACM International Collegiate Programming Contest (, the American Computer Science League for High School student competitors (, and the International Olympiad in Informatics ( are good starting points. Also, the Algorithmist maintains a calendar of contests (; 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" (

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."

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags


<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags


<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text


Dr. Dobb's TV