И даже после этого Хьюз не взял отпуск. В пятницу, в мае Хьюз в последний раз вышел из офиса Tallan. А уже в понедельник вошел в новый офис, который арендовал для своего нового предприятия – TopCoder. Идея Хьюза заключалась в создании сайта, на котором программисты могли бы соревноваться за денежный приз. Конкурсы будут проходить при спонсорской поддержке крупных технологических компаний – Intel, Google, Microsoft, которые используют сайт для выявления наиболее талантливых молодых программистов.
Идея была не лишена логики, но Хьюз создавал сайт не только для того, чтобы продвигать начинающих разработчиков. У него были претензии к индустрии программного обеспечения в целом. «Процесс разработки ПО славен тем, что запаздывает по срокам, всегда превышает бюджет и имеет множество ошибок. И эта репутация обоснована: так все оно и обстоит на самом деле». Хьюз решил ввести в эту сферу деятельности дисциплину, контроль качества, более характерные для традиционного товарного производства. В свободное от работы время программисты в компании Tallan соревновались друг с другом в неофициальных конкурсах. И Хьюз заметил, что итоговые коды получались лучше, чем те, за написание которых они получали зарплату. «Почему бы не дать им возможность конкурировать друг с другом все время?» – подумал Хьюз.
Он не стал изобретать велосипед, компания позаимствовала схему соревнований у Национальной атлетической ассоциации колледжей (NCAA) и адаптировала ее к «матчам» среди программистов. Участникам соревнований было предложено разработать алгоритм для решения простой задачи, например для поиска самого быстрого маршрута через лабиринт или наиболее эффективный ряд ходов в шахматной партии. Решение необходимо было сдать в течение одного часа, оно выставлялось на сайт. Это давало программистам возможность «бросить друг другу вызов», взломав созданные соперниками алгоритмы. Если участникам удавалось пройти этот сложный раунд, тогда уже «команда» TopCoder старалась найти слабые места в предложенном решении, так сказать, проверить его на прочность. Победителем становился любой, кому удавалось успешно пройти всю серию испытаний. Участники получали на сайте свои «персональные» карты, на которые им начислялось определенное количество баллов. «Существует множество областей человеческой деятельности, где талант получает вознаграждение именно в контексте состязаний. Мы просто поместили программирование в рамки этого контекста». Но Хьюз имел в виду не только регулярные соревнования. Хотя он никогда не слышал о Йохае Бенклере, но уже собирался внедрить его идеи в жизнь.
Постепенно среди сообществ программистов распространился слух о том, что появился веб-сайт, на котором каждую неделю проводятся конкурсы. Призовой фонд не был впечатляющим, зато участие в еженедельных соревнованиях могло стать интересным времяпрепровождением, а если получить большое количество баллов, то есть вероятность заключения крупного контракта с такой компанией, как, например, Google. Для молодых программистов, у которых денег было меньше, чем свободного времени, идея показалась привлекательной. Медленно, но верно популярность TopCoder начала расти.
Хьюз же хотел, чтобы TopCoder делала нечто большее, чем просто управляла конкурсами. Даже с учетом того, что TopCoder находилась в ранней стадии своего развития, Хьюз понимал, что, организовав достаточно крупное сообществе, он сможет использовать его энергию на разработку настоящего программного продукта для реальных клиентов. Разработки эти будут по-прежнему иметь форму дружеских соревнований, за исключением того, что работа, выполненная победителями, будет скомпилирована в более крупную часть программного обеспечения, уже для компаний из списка Fortune 1000. К 2003 г. еженедельные матчи, проводившиеся TopCoder, постоянно просматривали около 7000 программистов. Около 20 % из них периодически становились победителями; около 5 % – зарождающаяся элита TopCoder – побеждали постоянно. Запустив двигатель краудсорсинга на полную мощность, Хьюз почувствовал, что пришло время испытать сообщество в реальном деле.