Для меня очевидна положительная корреляция между успехами человека в спортивном программировании типа
ACM-ICPC и
Topcoder Algorithm (а тем более типа
Topcoder Marathon или
ICFPC) и его ценностью как профессионального программиста. Со мной согласны Google и прочие империи зла, с удовольствием трудоустраивающие успешных в соревнованиях программистов.
И наоборот, среди глупых и недалеких людей :-D бытует мнение, что занятие олимпиадами и прочими программистскими конкурсами и извращениями не то что не полезно, а даже вредно для программиста-профессионала. Спорить я с ними не буду (хотя можно было бы начать очередную священную войнушку на хабре), а приведу лишь один маленький и несерьезный пример, как порой участие в конкурсах может помочь в реальном проекте самым неожиданным образом.
Сегодня исправлял один случайно обнаруженный баг на своем сайте
Энциклопедия языков программирования (у меня там есть юнит-тесты, но этот баг не отловился; и да, я использую unit-тесты в соревнованиях).
Баг состоял в том, что в одном месте для не-
ASCII символов выбрасывалось исключение и как следствие —
HTTP 500 Internal Server Error. А на локальной машине на development-сервере все работало. Проблема была в забытом отладочном выводе, который вызывал проблемы только на сервере. Я знал о похожей проблеме на сервере topcoder — отладочный вывод там жрет память, отведенную под задачу; так что я очень быстро нашел причину.
Совершенно разные задачи, языки программирования, среда выполнения — а принципы то те же, в общем.
А вообще, это был наглый пиар проекта
http://progopedia.ru :-D