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.