More than 64 computer programmers from 19 countries gathered in Las Vegas last week for the 2006 TopCoder Open, a competition where developers go head-to-head to solve a complex algorithmic problem, design an application or develop a software component for $US150,000 in cash prizes.
Three champions were crowned Friday -- programmers who beat more than 4,200 others who competed in preliminary rounds online for several months. The event has become known for attracting some of the top programmers worldwide. The National Security Agency is a sponsor and publicly acknowledges that it hopes to recruit some of the top finishers into its ranks.
While TopCoder's roots are in rating and ranking developers through programming competitions, the company also provides outsourced software development to companies by tapping some of the 80,000 programmers the company has amassed through those competitions. Stage Stores, ESPN, Philip Morris USA and Pfizer are among the growing list of companies that have outsourced projects to the company.
TopCoder, for example, is building several Windows-based handheld applications for Stage Stores, including those for inventory, receiving, carton scanning and merchandise transfer. The applications are set to be finished in July, said Jeff Kish, CIO at the Houston-based apparel retailer, which operates 540 stores in more than 30 states. Over the past several years, TopCoder also has built a system for Stage to handle the sale of gift cards online and another for managing product returns, he added.
"Their virtual sourcing model is probably the next step in the evolution beyond offshore sourcing," Kish said in an interview at the TopCoder tournament. "You can look at the competitions week after week and see how the developers are scoring. This is the quality level of the person that will work on my project. If you offshore something, you may understand the project manager, but you have no way of understanding the quality of the resources below that level."
In addition to assessing the quality of the developers through the competitions and the rating system, Kish said, TopCoder's methodology is geared toward ensuring that the outcome of the work meshes with his business requirements.
"Their methodology is centered around the belief of the strength of the project manager, who is the key customer-facing resource," he said. "Their project managers will meet with my business leaders and talk about the business drivers and what we are trying to accomplish. That is key to the success we have had with them."
Kish said he is considering launching some competitions among his internal staff to test their skill levels to better realize where he needs to invest in additional training.
Sports broadcaster ESPN is using TopCoder to develop a content management system for its new Mobile Companion project, which will push content about sporting events that are televised to users of ESPN's mobile phone service. For example, during a poker tournament, producers could send the biography of a player to be accessed via the phone, said John Zehr, vice president of development at Mobile ESPN. The project marks the first time the company has gone outside its internal development group for a content system, he added. The system, which is built using XML and Web services, is now being tested and is set to go live this summer.
ESPN turned to TopCoder because it could deliver a system made of components that could easily be linked to multiple back-end systems that contain the content, Zehr said. In addition, the content needs to be available for reuse, such as when a tournament is rebroadcast, he added.
"Something like baseball statistics can change every day, and we don't want to make copies of everything," Zehr said. "We want that system to interface with other systems."
Finally, TopCoder delivers extensive documentation along with the components to the system, which will allow ESPN to change the system in the future as needed, Zehr said.
"They could increase our bandwidth without us necessarily hiring more people, and do it in a way that the code base becomes 'open-source' within our realm so we can add onto it. A lot of times, when you get a finished system, you may have the right to the code, but since it is not developed with a component methodology, you have no insight into the code."
Mike Morris, TopCoder's vice president of software development, said organization's methodology is geared toward eliminating much of the rework that can crop up from communication problems between the business and its developers.
For example, TopCoder has a three-person team that reviews specifications before a project manager provides it to the client for sign-off, Morris said. This ensures that there are no problems with any requirements, he said. In addition, if a client comes up with new requirements after signing off on a development phase, they have to pay extra.
Finally, because TopCoder has amassed more than 400 reusable software components from its competitions, a typical project will be able to tap half of its code from that component library.