Whom Do Coding Contests Serve?

Each year, a number of well known organizations sponsor national and international programming competitions. Even though I haven’t taken a personal interest in these events since high school, I’ve discovered that reading over the rules and prize descriptions makes for good procrastination. But recently, I’ve started to wonder about the real function (pun intended) of such contests. What kinds of competitions are out there, why do organizations sponsor them, and whom do they really serve?

The self-professed “oldest, largest, and most prestigious programming contest in the world” is the ACM IC Programming Contest, sponsored by the ACM and IBM. It is a multi-tiered competition for university students that begins with numerous regional contests and ends with a single world finals event. Since the ACM is so firmly entrenched in CS departments across the country, participants who do well can probably expect some amount of recognition within the academic community in addition to tangible rewards.

Google also ran a programming contest in each of the last two years. The first one challenged entrants to do “something interesting” with a large collection of pre-parsed web pages. Daniel Egnor won with what eventually became the Search By Location feature on Google Labs. Last year’s contest, unlike the previous one, was timed and tournament-style.

Before I give my last example, let me return to a question I posed earlier. Who benefits from these competitions? Well, participants benefit because they presumably enjoy competing. Winners benefit in the form of prizes and alpha-geek bragging rights. Corporate sponsors benefit because these competitions are good for publicity, help recruit smart people for employment, and - as in the case of geographic search - may actually produce marketable software.

Microsoft has discovered yet another way to extract value from the contests they sponsor: use entrants’ submissions to promote their own platforms and technologies. Although the company attests that Imagine Cup is “for those who take a purer pleasure in discovery, art, and innovation”, spend a minute reading the web site and you may notice a few impurities:

Contest entries will be judged in part on their abilities to showcase the Windows platform and the .NET Framework.

By accepting a prize, winners must agree to allow Microsoft to use participant’s name, trademarks, or company logos on presentation slides and other .NET marketing materials.

The other contests do not mandate a specific language or platform. If you were deciding whether to take part in a programming contest, would terms like these influence your decision? Do you find them ideal, acceptable, dubious, or outright unethical? Post your thoughts.

1 Comment so far

  1. Rimjhim on June 28th, 2006

    Nice post pal

    Good analysis

Leave a reply

Captcha
Enter the letters you see above.