How to build software? Henry Ford, meet eBay.
Armed with cans of the latest energy drink, 100 of the world's top programmers gathered under the glare of flashbulbs Friday to determine who's the fastest and cleverest of them all. The contest: Solve three fiendish problems in 75 frantic minutes. The assembled finalists – the best of 21,000 applicants – hailed from Buenos Aires, Warsaw, and an obscure city on Russia's Volga River.
It's a crowd many employers would drool over, including Google, which hosted the "Code Jam" contest here in its new seven-acre Manhattan complex. But TopCoder, the Connecticut-based company that ran the event, has other ideas. By tapping the best freelance programmers in the world, and letting them compete to write pieces of software, TopCoder and its competitors are creating a new kind of assembly line. In essence, they're dragging Henry Ford into the eBay era.
"It's a very intriguing and attractive model," says Thomas Malone, director of the Center for Collective Intelligence at the Massachusetts Institute of Technology. He sees it as a logical extension of advances in communications and computing power.
"Things that are today done inside big companies will, in the future, be done by temporary combinations of very small companies and, in many cases, independent contractors," he says.
Through its contests, TopCoder seeks out and ranks the world's best independent programmers. The company then helps firms tap these 95,000 freelancers for software projects. TopCoder assesses a client's needs, breaks the project into 30 or so components, and opens the design and development work to a series of online competitions. The coder with the best finished product wins "prize money," as does the runner-up, which usually amounts to a few thousand dollars. The small pieces are "sewn" together, usually by TopCoder, and delivered to the client.
"Our competition model drives up quality in a way that no one can duplicate. No one else I know can get four or five [versions] made of the same thing and take the best," says TopCoder's Brendan Wright. And because "people in the US have to compete with people in Romania, you are going to get a certain downward pressure on prices."
TopCoder isn't the only company linking freelancers to business needs. InnoCentive of Andover, Mass., lets companies offer rewards to scientists who can solve specific R&D challenges. California-based company Elance allows businesses to submit projects for freelancers to bid on. Nearly half of the Elance jobs involve website or software development, with the rest ranging from marketing campaigns to translations to ghostwriting.
The model is turning traditional outsourcing on its ear. Instead of hiring teams of developers from, say, the biggest half-dozen programming firms in India, companies can build their own team of the very best, no matter where they live. None of the finalists at Google's "Code Jam 2006" was Indian; a third, including the winner, were Russian.
Representatives at Google say the company is busy building satellite offices in countries where the new talent is being found. But the freelancer model may prove more attractive – and perhaps more lucrative – for some coders. Mr. Wright says one man in China is pulling down six figures from TopCoder contests.
TopCoder uses the competitions to entice new programmers to sign on.
Witold Jarnicki is a Pole whose ability to write algorithms landed him a free trip from Google to compete in the Code Jam. But when asked if he's interested in joining Google, Mr. Jarnicki says he prefers his $5,400-a-year job at the Jagiellonian University in Krakow. It's stable, it's where he grew up, and most important, it's far from the business world according to "Dilbert." "One thing I am really happy about is that I'm not bored," he says.
Freelancing offers the chance to pick and choose only the jobs that are interesting to them, programmers say.
"Many companies have very boring work for programmers," says Mike Mirzayanov, another finalist, of Saratov State University in Saratov, along Russia's Volga River. "I think it is a problem for many top coders. They like to think; they like to problem-solve and create."
Critics of the TopCoder model wonder if some tasks are too large for a hodgepodge of freelancers to tackle coherently. The top-down model that makes this form of radical outsourcing possible also makes it more difficult to deal with midcourse corrections or handle projects that evolve over time, they argue.
"With all this fancy technology, there's [still] nothing like being in the same room," says Moshe Vardi, a professor of computer science at Rice University in Houston. Sometimes, project managers don't know exactly what they want until code comes back to them, he says. "It's much harder to do the ongoing changes [remotely]. It's very different when you run into a person every day and ask, 'How is it going? What's happening? Oh, by the way....' This informal communication is incredibly valuable."
If software jobs are headed overseas – to the likes of Poles and Russians earning less than $6,000 a year – do American programmers have a future?
At TopCoder, Wright holds the only job in the assembly line that's sheltered from the digital Darwinism. As project manager, he's the liaison between clients and the technical architects who break the problem into its pieces. His skills – a combination of technical expertise, communication know-how, and business savvy – will be key for US programmers, some computer science professors say.
"If all they can do is sit in a cubicle and they cannot talk to other people, they do not have an advantage, they cannot leverage their location here," says Professor Vardi. "Because at the end, what are computers about? It's about solving other people's problems."
Software-outsourcing firm TopCoder sifted through nearly 22,000 applicants to pick the top 100 freelance programmers, who gathered in New York for a contest last week. So who are these digital Top Guns? • A third were Russian, including teacher and recent college graduate Petr Mitrichev, who won the contest.
• China had the second-largest contingent with 12 representatives, followed by Poland with 11. Some Polish universities place great importance on coder competitions.
• The US had 7 contestants; Germany, 6.
• The field was all male.