by Esther Schindler

Where Programming Meets American Idol

May 15, 20084 mins

Companies that need custom application development can use TopCoder's contests to get the best quality code npossible, regardless of geography.

Everyone who pays for custom application development wants to believe he’s hiring the best. But statistically, we’re all average. If an enterprise IT department wants Web design services and application development that’s measurably the best— based on adherence to client software requirements, established metrics, and the inability of other developers to kick holes in the code—it might well turn to one of the oldest competitive methods in history: hold a contest.

That’s the premise behind TopCoder, an online community of 100,000 developers from all over the world. Client projects are broken into well-defined, manageable components (just as you do in-house, right? Right?); a cash prize is offered for each component’s successful completion. With dozens or hundreds of developers vying to be the winner, and several (developer and client) judges examining the submissions and providing detailed feedback, the winning component is, indeed, the very best you can get for the money.

The prize money offered for an individual application component can vary significantly, from a few hundred dollars to, in the case of the elimination rounds for the TopCoder Open—the yearly competition, held this week in Las Vegas—$60,000. The second prize winner took home $30,000; other runners-up received $20,000, $12,000, and $8,000. (Under ordinary circumstances, TopCoder and its client work out a reasonable amount to offer for each component’s prize. More money dangling in front of developers clearly will attract better programmers, but simple just-get-it-written components don’t need to attract the rock stars.)

Code isn’t judged purely on aesthetic merit or technically impressive bit-muscles. In the final half hour of the contest, each developer can challenge another’s solution. If the challenger loses, he loses points; if he successfully identifies a weakness, he gains points. So the winner’s board can change dramatically in the last ten minutes of a competition that may have gone on for weeks.

For an enterprise customer, a full-scale competition may not be necessary. Because TopCoder puts such an emphasis on building applications based on reusable components, each component finished goes into the company’s library. A client who imagines a need for “custom” development may find that the pieces necessary for, say, login and authentication were already built in previous competitions (and thus may be cheaper). On the bits that need to be hand-crafted would go into the contest process.

One company that favors TopCoder is pharmaceutical giant Lilly Research Laboratories, which uses TopCoder for development services and as a source for employee recruitment. Everett Lee, Lilly’s manager of IT for toxicology and drug disposition (and responsible for IT systems integration in the company’s discovery research), appreciates that the business doesn’t have to turn over an entire huge project,and thus control, to TopCoder. It’s easy to use TopCoder on a small scale. “I see it as a faucet,” he says. “You can turn it on to a trickle, or turn the faucet on all the way.”

This is outsourcing, sure, but it’s outsourcing based on quality rather than geography.

Until an individual TopCoder developer reaches the top “red ranked” point levels, where he’s apt to qualify for the TopCoder open, he’s known in the community only by his handle. (TopCoder does have details of his real-world identity—they have to, to write checks—but doesn’t share the information publicly.)

So if the contest for a component is won by “tomek”, you don’t know whether he’s down the street from your company in New Jersey, or whether he’s in Australia or Poland. (As it happens, “tomek” is Tomasz Kulczynski, a Polish three-time winner of the TopCoder tournament who now works for Google in California; highly-ranked TopCoder members are often scooped up.) You only know you got the best possible code for the money.

But, in point of fact, most of the 120 participants in the TopCoder Open (perhaps 80 percent of them) live outside North America. I discussed this with several TopCoder staff members and with event sponsors (which include Lilly, British Telecom, the U.S. National Security Agency, AOL and Verisign). Although the majority of TopCoder community members are from the U.S. and Canada, cost of living may be a factor. For an American programmer, a mundane contest with a $1,000 prize might be “extra” money; for “oton”, from Jombang, a little town in East Java, it might be a month’s wages. That certainly affects motivation.

But that’s also the “American Idol” appeal of TopCoder. These are developers who might never attract your notice, otherwise. By demonstrating their superior abilities, however, they can prove themselves to be stars.