Подпишитесь на нашу ежедневную рассылку с новыми материалами

В Беларуси


Дэвид Мэссинджер | Фото: IT.TUT.BYВ конце весны в Минске прошло состязание по спортивному программированию среди белорусских студентов и учащихся – TopCoder Belarus All College Programming Event, в рамках которого нашу страну посетили высокопоставленные сотрудники компании TopCoder.
 
TopCoder – уникальное сообщество, объединяющее в глобальном масштабе ведущих программистов и дизайнеров. TopCoder стимулирует развитие коммьюнити как на самом сайте, так и посредством проведения различных акций по всему земному шару и предлагает своим участникам не только возможность состязаться между собой, но и высокооплачиваемую работу, причем, вне зависимости от географического расположения.

Беларусь – единственная страна, которую посетили в рамках европейского тура высокопоставленные американские гости из TopCoder, Дэвид Мэссинджер (главный архитектор проекта) и Джеймс МакКеон (директор по коммуникациям, он же "министр пропаганды"). Незадолго до награждения победителей белорусского TopCoder Belarus All College Programming Event IT.TUT.BY удалось побеседовать с Дэвидом Мэссинджером о TopCoder и о том, что привлекает в этом сообществе стольких талантливых программистов со всего мира:

– Здравствуйте, Дэйв! Расскажите, пожалуйста, о концепции TopCoder и о том соревновании, для проведения которого вы прибыли в Минск.

– Сутью ТopCoder является состязание. Через систему конкурсов и рейтингов мы выявляем лучших программистов в мире и воздаем им по заслугам. Мы считаем, что в соревновательном плане программисты не очень отличаются, скажем, от футболистов. Лучшая футбольная команда получает максимум призовых денег и признания, мы стремимся таким же образом отмечать и лучших программистов. Уровень белорусских «topcoder»-ов, таких профессионалов как Иван Метельский – очень высок. Именно поэтому мы решили начать наше европейское турне с Беларуси.

– А как же недавнее мероприятие в Варшаве?

– Да, мы проводили ряд состязаний в Польше и некоторых других европейских странах, но меньшие по масштабу. Теперь у нас есть свой представитель в Европе, который будет заниматься организацией мероприятий на этом континенте. А белорусское состязание – первое, на которое прилетели американцы из штаб-квартиры в Гластонбери.

– Что вы можете сказать о «географическом распределении» лучших программистов, участвующих в рейтинге TopCoder? В этом году студенческий командный чемпионат мира по программированию выиграли польские студенты (кстати, тоже участники проекта TopCoder) – насколько сильны позиции программистов из Восточной Европы?

– Да, Восточная Европа – отличный регион в этом смысле, открытие для TopCoder. Польша, Россия, Беларусь, Словакия, другие страны – у вас сконцентрировано множество сильных программистов.

– А что вы можете сказать об американцах?

– Американцы обычно хорошо показывают себя в соревнованиях по дизайну программного обеспечения. Собственно в алгоритмических контестах одно время мы выступали недостаточно хорошо.

– Можете рассказать подробности о соревнованиях по дизайну ПО?

– Наши соревнования по дизайну ПО (Design Competitions) несколько отличаются от соревнований по разработке ПО (Development Competitions), но целью и тех, и тех является разработка высококачественного программного обеспечения для различных компаний. В них участники соревнуются между собой, их работы рассматриваются оценочной комиссией (Review Board), куда входят зарекомендовавшие себя наилучшим образом члены сообщества TopCoder, благодаря чему участники этих конкурсов получают огромное количество информации в качестве обратной связи по их работам, что очень полезно для их дальнейшего профессионального развития. Кроме того, наши соревнования – хороший способ зарабатывать деньги. Приз за первое место обычно составляет тысячу долларов, иногда – гораздо больше. Новые призовые конкурсы открываются еженедельно.

– Задания для конкурсов основаны на реальных потребностях компаний в определенном ПО и алгоритмах? Участники решают максимально приближенные к жизни задачи?

– Да, именно так. Ряд компаний, включая таких гигантов, как AOL, крупный банк UBS, Merrill Lynch, British Telecom и другие, описывают нам задачи, которые необходимо решить, а мы их разбиваем на множество отдельных компонентов. Часть их выставляется на соревнования по дизайну и разработке ПО (Component & Design Competitions). И множество наших участников со всего мира соревнуется в поиске лучшего решения по каждому из компонентов. При этом некоторые члены сообщества TopCoder, в том числе, из Украины и Румынии, в данный момент решают задачи по архитектуре ПО, которые не выставляются на конкурс. Такое неконкурсное сотрудничество на контрактной основе мы предлагаем тем специалистам, кто уже отлично проявил себя в соревнованиях по дизайну программного обеспечения.

– То есть, по большому счету, вы – аутсорсер?

– Да, мы помогаем компаниям найти подходящих специалистов для решения требуемых задач. Компания сообщает нам о своих потребностях, а мы ищем лучших программистов для написания отдельных компонентов необходимого ПО. При этом, даже если вы, например, написали компоненту для нас год назад, а мы вновь используем этот код в каком-то другом приложении, мы выплатим вам авторские отчисления. 20% всех денег, которые мы получаем на создание того или иного ПО, уходит на выплату роялти членам нашего сообщества. То есть один раз написав качественный модуль, вы будете получать за него деньги и впредь.

– А в этих соревнованиях по дизайну ПО могут участвовать только избранные специалисты TopCoder?

– Участвовать может любой желающий. Другое дело, что код оценивается компетентными специалистами со всего мира. Например, его могут рецензировать три специалиста – скажем, из Украины, из Китая и из Канады. Во время соревновательной фазы вы можете обсудить его с ними, и даже если вы не победите в соревновании, то всё равно узнаете многое о практических навыках по написанию коммерческого ПО.

– Опыт – великая сила!

– Да. Обычно надо пройти, в среднем, 2,5 соревнования, чтобы начать выигрывать. Для некоторых участников эта «кривая обучения» будет другой. Мы стремимся уменьшить время на освоение посредством обучающих программ и активно работаем в этом направлении. Важно отметить, что мы сами изнутри видим TopCoder не компанией, а сообществом, которое сотрудничает с отдельными компаниями. Мы стремимся найти лучших программистов, подобрать им наилучшую работу и заплатить за неё лучшие деньги вне зависимости от географического местонахождения программиста. Например, наши лучшие дизайнеры ПО в этом году заработают около 200 тыс. долл. И они получат эти деньги в своей стране, неважно в какой – в Китае, в Беларуси, в Канаде... Мы постараемся в этом году заключить больше контрактов и предоставить членам нашего сообщества больше возможностей заработать, а также дать им больше контроля над работой TopCoder.

– Расскажите, пожалуйста, о бирже, которая, насколько мне известно, плотно связана с TopCoder.

– Да, действительно, существует такая компания как Equitrader которая полностью построена при помощи сообщества. В ней «работает» 180 специалистов со всего мира, а сайт проекта собран из множества компонент (около 200), что в целом позволяет симулировать торговлю на биржах в реальном времени. Поддерживается NASDAQ, NYSE и другие биржи. У нас еженедельно, ежемесячно и ежеквартально проводятся соревнования по этому направлению, где участники самостоятельно выбирают, акции какой из компаний приобрести. Кто заработает максимум, получает денежный приз. При этом мы недавно внедрили специализированный язык программирования для написания скриптов, автоматизирующих процесс продажи и покупки акций. Например, «если акции Microsoft упадут до 50 долл. – покупать акции, если вырастут до 55 – продавать». Цель всего этого – дать возможность людям написать лучшие алгоритмы, а в долгосрочной перспективе – зарабатывать на них деньги, возможно, применяя их уже на реальном, а не симулированном рынке. На данный момент акции и торговля – виртуальные, но вся информация о котировках – реальная.

– Говорят, существует и своеобразная биржа участников TopCoder?

– Да, существует отдельный проект одного из членов нашего коммьюнити, австралийца sql_lall, который называется TopCoder Exchange, где люди могут «покупать» и «продавать» участников TopCoder как акции, в перерывах между соревнованиями. На мой взгляд, это одно из наших лучших сообществ внутри TopCoder. Кроме него, считаю, стоит отметить сайт одного из высококлассных программистов TopCoder, Петра Митричева из Москвы. Его разработка позволяет сравнивать участников сообщества: вводите два ника и получаете полную статистику, например, о том, как часто один обходил другого, ну и другие интересные факты. Мы предоставляем членам нашего сообщества все необходимые данные о коммьюнити для разработки подобных проектов, а также предлагаем возможность использовать готовые компоненты для своих персональных проектов совершенно бесплатно.
– А насколько велико сообщество TopCoder?

– На данный момент у нас зарегистрировано около 110 тыс. участников, из них около трети – активные участники, которые участвовали в соревнованиях хотя бы один раз за последние полгода. При этом мы не учитываем тех, кто использует информацию TopCoder в образовательных целях, но не регистрируется – например, тех, кто читает форумы и т.д.

– В общем, TopCoder – это сообщество, организованное и поддерживаемое одноименной компанией.

– Да. Кроме TopCoder.com, где представлены состязания по разработке ПО, у нас есть веб-сайт Studio.TopCoder.com, посвященный графическому дизайну, а также новым идеям для компаний, с которыми мы сотрудничаем. Это тоже часть коммьюнити TopCoder.

– Своеобразная ярмарка идей?

– Да, причем не только идей. Ещё и графики, рисованных прототипов.

– Окей, перейдём на локальный уровень – что вы можете сказать о белорусских программистах-спортсменах?

– На соревнованиях, которые мы провели, я хотел бы отметить хорошую атмосферу, где все участники делились опытом, помогали друг другу достичь лучших результатов. Я считаю, что это – отличительная черта всего коммьюнити TopCoder.

– Но в то же время, правила TopCoder стимулируют участников на поиск ошибок в чужом коде и «подрезку» соперников таким образом...

– С учётом того, что мы обычно предлагаем крупные призы победителям, нам просто необходимы очень строгие правила. Но, с другой стороны, это ведь своеобразный спорт, это соревнование.

– А как вам белорусское мероприятие TopCoder в целом?

– Нам очень понравилось отношение представителей белорусских университетов к проводимому соревнованию, особенно их энтузиазм и увлеченность программированием – это, конечно же, передается и студентам. Понравился и Минск – очень чистый город, прекрасная погода, дружелюбные люди... Спасибо!


Дополнительная информация о конкурсах TopCoder

Спортивное программирование
Конкурсы Algorithm Competition для всех
Конкурсы Algorithm Competition только для школьников

Прикладное программирование
Дизайн ПО/Software Design
Разработка ПО/Software Development
Сборка ПО/Software Assembly
Тестирование ПО/Software Testing
– Серия состязаний Digital Run

Исследовательское программирование
Marathon Matches

Графический и веб-дизайн
Studio.TopCoder.com

Для участия во всех конкурсах TopCoder необходимо зарегистрироваться на сайте.


Нужные услуги в нужный момент
{banner_819}{banner_825}
-15%
-50%
-50%
-15%
-20%
-50%
-10%
-80%
-30%