TopCoder

TopCoder (Glastonbury, CT)
Bringing Major League Competition to Software Development

TopCoder's CEO Jack Hughes admits that applying the community aspects of social networking to the professional world makes it "a pretty weird company." But TopCoder's business model, providing customer software applications and component catalogs to FORTUNE 100 companies through virtual competition, is keeping the 135,000 leading developers it counts as members coming back.

Problem: Administration Trumps Innovation
Most large companies spend the bulk of their IT budgets on maintaining existing systems, at the expense of innovation. Sufficient ROI eludes these organizations as they focus on navigating the complexities of developing software while managing large IT organizations. According to Hughes, "It's simply the cost of time. If [software development] is going to take this long to do and if it's going to cost this much, it's not worth it."

Solution: Piecing it Together
TopCoder addresses this challenge by managing competition among a community of professional software developers representing every facet of software development, from architecture to coding. Hughes defines this community as "a diverse group of individuals, with an affinity in an area of interest. It's not as simple as saying that you can do a virtual work community, a professional network, in the form of a marketplace that looks like eBay. You very much need some set of structures, if you're going to manage a community, to get to some output."

TopCoder begins by looking for an application architecture outcome that can be worked on by a diverse group of programmers. The problem is broken down like a puzzle, in which components are built by individuals and assembly is collaborative. "This is probably the primary differentiator between our process and what others would do, from the standpoint that we're trying to get to an extremely granular level," says Hughes. "We're trying to get these puzzle pieces into a format and a package where we're talking about a de minimus cost profile -- thousands of dollars or sub-thousand dollars -- and timeframes that can be in hours. So we can go and build [software architecture], through a community, in some cases within weeks, in some cases days, and in some cases hours."

Competitions are held in both "Single Round Matches" held online once per week and "Tournaments" held both on-location and online twice per year. Once built by TopCoder's community, a solution is then brought back to the customer's environment, where it is deployed as software, a service or a set of services, or as an installed application.

"If I were to ask your children or grandchildren what they would like to be in the future, their answer would be pro athlete," says Hughes. "But their odds of making it are infinitesimal. TopCoder is trying to make the idea of software development very exciting and attractive, because if this country - and this world - is going to move forward, it's going to take people who find as much satisfaction doing that as trying to become the next Tom Brady." He says that those who pursue the field stand to gain; one TopCoder programmer is on pace to earn a half a million dollars next year.

"This isn't a cheap labor story by any stretch of the imagination -- this is a productivity and efficiency story."

Q&A with Jack Hughes, CEO, TopCoder

Q: How are you insuring that all of these components that are being built globally are coming together into a single system?

A: Because we put that system together. So we break the system down into pieces. We make sure those pieces have the right interfaces exposed, to be able to talk to each other. That's an oversimplification, but that's basically how the process works.

Q: So when someone employs you with a large or a medium sized project, do you break it down? Do you give the customer the tool to break it down? How does that process work?

A: Right now, it's every end of that spectrum, from us doing the entire project, to the customer doing all of that project. We would prefer that the customer do that work, that the customer have the domain experience in-house, the project management experience in-house, the architecture in-house, although architecture, even for us, is going more and more out to our community. We would prefer the client drive it, and look at Top Coder as a platform for two things: a large set of assets - our component catalogs, over 1,000 components, grows very rapidly; and access to a large virtual global development community.

Q: How do you foster trust amongst the members of your virtual community?

A: Trust is probably the most critical element of what we do. We have to be extremely upfront about what we're doing and why we're doing it. When we first started, TopCoder was a series of competitions that didn't have a necessary commercial outcome, but we were very clear to members, in the very beginning, to say this is a commercial endeavor. We're also very clear about [intellectual property]. If we pay you for your IP, we're going to take it. If we don't pay you for it, we're not.

Q: What does the profile of your customer base look like, in size as well as industry?

A: It's cross-industry right now. It's probably about 30 companies that we're actively engaged with. They are primarily large, Fortune 1000 companies. It's ESPN, Constellation Energy, Fidelity on a test basis. There's other financial services firms, there's hedge funds in there. There's manufacturing companies. We're fairly cross industry and we'll look to stay cross industry.

Q: You mentioned innovation. To what degree does a vigorous engineering approach either hinder or foster innovation?

A: Innovation doesn't work without quality. A high quality product takes rigor. A big part of innovation, and a big difference between say the manufacturing industry and the software industry, is that if you look at the price of a car today, it's much higher quality, it has many more features, and it is almost exactly the same price in real dollars as it was in 1960. That's innovation. Software today looks like much more complexity and an exponentially growing cost base, against every point of complexity that happens. So, the software model today, for even the largest companies is, I would argue, unsustainable. So there will be different models that come along, to change how software is done.