toomth (toomth) wrote,
toomth
toomth

Categories:

О российских программистах, выигравших чемпионат мира

Команда студентов Санкт-Петербургского университета выиграла чемпионат мира по программированию, который завершился 19 мая на Пхукете. Россияне решили задачи на 7 минут быстрее студентов Шанхайского университета, команда Гарварда заняла третье место. Всего в финале участвовало 128 команд. В состав команды СПбГУ входили Игорь Пышкин, Станислав Ершов, Алексей Гордеев, а также тренер Андрей Лопатин — сотрудник социальной сети «ВКонтакте» и бывший разработчик мессенджера Telegram. В 2000 и 2001 годах он сам побеждал на студенческом чемпионате мира в составе команды СПбГУ.

О российских программистах, выигравших чемпионат мира



— Что всё-таки сильнее — СПбГУ или ИТМО?

— Это вечный вопрос. Зависит от того, у кого спрашивать. СПбГУ четыре раза выигрывал, ИТМО — шесть.

— Расскажите немного о себе. Читала, что вы закончили легендарный лицей №239 в Санкт-Петербурге, где учились многие известные люди от Григория Перельмана до Бориса Гребенщикова и познакомились там с Николаем Дуровым (сооснователь «ВКонтакте» и Telegram. — Прим. «Секрета»).

— Да, было дело. Лицей №239 — один из лучших в Санкт-Петербурге. Там много известных людей училось, в одно время с нами, например, Инна Друзь. Но я его не закончил, с 8-го по 10-й класс там учился, а закончил 11-й класс в языковой школе №238. С нашим набором проводили эксперимент: мы учили английский, французский, латынь, древнегреческий и другие языки, проходили философию, востоковедение, античную культуру.

Мои родители — преподаватели. Мать преподавала математику в школе, а отец — военный преподаватель, он командовал ротой в АСО (аварийно-спасательный отряд).

— Когда вы увлеклись программированием?

— Началось с того, что мне в руки попала книжка про язык Basic, я её прочитал, но никакого практического применения найти не смог. С компьютерами я познакомился в начале 90-х, нам привезли их в языковую школу, и я попытался по памяти воспроизвести какие-то программы из книги. С удивлением узнал, что в Basic есть множество разных диалектов и то, что я знаю про язык из этой книжки, плохо работает на компьютерах. Я начал изучать разные языки программирования, а в алгоритмы серьёзно погрузился в девятом классе.

В восьмом классе я писал какие-то программы, в основном на Assembler — сейчас это звучит довольно дико, это самый низкоуровневый машинный язык, но тогда вариантов особо не было. Например, писал компилятор языка Forth — программу, которая записывала звук с магнитофона.

— Вы хотели заниматься научной работой, связанной с программированием и математикой?

— Ещё в школе я был участником сборной России по информатике и ездил на международные олимпиады для школьников. Потом поступил в СПбГУ, там нам много рассказывали про алгоритмы, я уже серьёзно ими занимался.

В науке я успел поработать, но не очень долго, после университета я больше занимался практическими вещами. Например, тренерством команды по программированию, работал над «ВКонтакте» и Telegram, занимался проектом в сфере транспортной логистики Veeroute. Во «ВКонтакте» я работал с 2008 года, когда перестала справляться стандартная архитектура, пришлось сделать свою, мы вместе с Николаем её создавали.

— В каких олимпиадах вы выигрывали?

— Студенческий финал чемпионата мира 2000 и 2001 года, мы в компании с Николаем Дуровым, в 2009 году я выиграл марафон Topcoder. Тогда это были очень важные мероприятия, а сейчас как-то уменьшили влияние.

— У них же там и Facebook, IBM и другие компании в партнёрах.

— Facebook сейчас проводит свои соревнования. Возможно, они немного их поддерживают, я не вдаюсь в тонкости взаимоотношений Topcoder и Facebook, ну работает — и хорошо. Ребята участвуют активно в Topcoder, я тоже иногда вспоминаю былое, мне полезно участвовать, просто не всегда хватает времени. Цифры говорят за себя: раньше они приглашали 72 человека только по алгоритмам на финал, а сейчас всего 8-12. Может, конкуренции не выдержали.

У нас в России есть сильный проект Code Forces, который, на мой взгляд, стал популярнее в мире, чем Topcoder, его делает Миша Мирзаянов из Саратовского университета. Это хороший кейс — как человек из алгоритмического программирования создал ведущий мировой проект в своей сфере. Там в каждом раунде участвует тысяч пять программистов.

— Вы готовите студентов в первую очередь к международной студенческой олимпиаде? Это самая важная олимпиада в мире?

— Да, в первую очередь это чемпионат мира ACM ICPC. За последние 16 лет команды из Питера девять раз занимали первое место — либо мы, либо ИТМО. Этот чемпионат считается самым престижным. Там соревнуются университеты со всего мира, по три человека в команде. Допускаются аспиранты, потому что по-английски это называется Ph.D. Но есть ограничения по возрасту и количеству попыток: в полуфинальных и четвертьфинальных соревнованиях можно не больше пяти раз участвовать, в финальных — не более двух.

— Видела, что Саратовский университет тоже побеждал.

— Да, Саратовский университет выигрывал как раз с тренером Мишей Мирзаяновым.

— А до 2000 года очень много американских университетов, тогда в России никого не было?

— Раньше это было такое локальное мероприятие, а потом пришёл IBM со спонсорством, они развернули очень активную кампанию по привлечению людей. Российские команды начали участвовать с 1995 года.

— Какие у нас основные конкуренты? Китайцы?

— Зависит от года, но обычно поляки, китайцы, студенты MIT. У поляков очень сильная школа в Варшаве. Они несколько раз выигрывали, и в этом году в фаворитах (интервью проходило до чемпионата, команда Варшавского университета заняла пятое место. — Прим. «Секрета»).

— У программистов есть денежная мотивация для участия в олимпиадах или это скорее желание решить какую-то задачу и доказать себе, что смог это сделать?

— Денежная мотивация тоже присутствует. Плюс участие в олимпиаде помогает строить карьеру. Сразу начинают сыпаться приглашения от разных фирм.

— Но есть теоретические программисты, а есть те, кто решает прикладные задачи?

— В командах встречаются люди, которые занимаются теоретической математикой и тем, что называется computer science, но часто и в компаниях нужны такие математики. В бизнесе тоже приходится и интегральчик посчитать или что-нибудь такое, задачи по оптимизации иначе не решаются. Теория важна, но люди чаще хотят решать практические задачи.

— Как повлиял технологический бум на профессию программиста? Сейчас спрос вырос?

— Эта профессия всегда была престижной, были уже всякие бумы доткомов и прочее. Уже в конце 90-х за программирование в России получали очень хорошие деньги в долларах. Некоторые уезжали на Запад — например, мой школьный тренер уехал по приглашению Microsoft в США ещё в 1997 году. Когда я был в старших классах, многие думали о карьере программиста, чтобы иметь хороший заработок, но мне просто было интересно. Сейчас компьютер и мобильная техника прочно вошли в нашу жизнь, программисты нужны везде, и сейчас, как и тогда, люди получают хорошие зарплаты.

— Сейчас больше людей уезжает?

— Мне кажется, примерно столько же. Одно время, по ощущениям, меньше уезжало — это период с 2004 по 2012 год. Помню, как в 2005-м Google проводил мероприятие и сразу приглашал финалистов олимпиад [на работу], и мы считали с ребятами, сколько от зарплаты останется после вычета налогов, затрат на жизнь. Выходило, что особого смысла ехать ради денег нет. Сейчас из-за курса доллара уезжать стали, наверное, чаще.

Я бы сказал, что уезжают 30-50% [олимпиадников]. Некоторые хотят заниматься наукой, они уезжают в американские, канадские, немецкие университеты, некоторые потом возвращаются.

— Как часто проходят тренировки?

— Командные — три раза в неделю по пять часов, плюс сборы несколько раз в год. Есть ещё всякие соревнования — уже упомянутые TopCoder, Codeforces, конкурсы Facebook, Google, «ВКонтакте», «Яндекса», — всего и не упомнишь. Ребята в них участвуют, чтобы не терять форму. Это уже спортивное мероприятие, где нужно не только, чтобы голова работала. Вот есть шахматы: кто-то говорит, что это помогает планировать, просчитывать ходы людей — я сам занимался шахматами, мне кажется, что мне это помогло участвовать в других соревнованиях, потому что у меня уже был опыт соревнования. Хотя программирование — гораздо более приближённый к реальности интеллектуальный вид спорта.

— Где обычно проходят сборы?

— Иногда собираемся в Петрозаводске, в начале апреля ездили на сборы в МФТИ, наша команда выиграла, хотя там были и участники из Шанхая. Не было, к сожалению, команды из Варшавы, которая нас обыграла на предыдущих сборах в Петрозаводске. Было бы интересно снова встретиться и посмотреть, как мы прокачались. В 2007 году у них была очень сильная команда. Она обыгрывала всех на голову и выиграла чемпионат мира. В 2008 году эта команда прыгнула на недосягаемую высоту по результатам всех сборов, тренировок, даже не было мысли, что кто-то другой может выиграть. И вот в прошлом году у этой команды с одной задачей не заладилось в финале и они не получили ни одной медалей, хотя медали даются 12 лучшим командам — четыре золота, четыре серебра и четыре бронзы.

— Драйв и адреналин как в большом спорте?

— Нагрузка очень высокая, участников вырубает на долгое время, хотя, когда я стал тренером, я понял: быть участником — это ещё не самое страшное. Участник хотя бы может что-то сделать, а тренера просто изолируют и он ничего не может, когда хочет подсказать. Это очень нервно.

— Потом эти люди, как правило, устраиваются в крупные компании?

— Часто. Помню, когда команда в 2010 году взяла серебряную медаль, их устроили работать во «ВКонтакте». Мне кажется, это было для них полезно, потому что они узнали, что такое ответственность, когда работаешь на большую компанию и большую задачу. Это помогло им в финале чувствовать себя более уверенными, они получили золотую медаль и стали чемпионами Европы в 2011 году. Сейчас люди из той команды работают во «ВКонтакте» и Telegram.

О российских программистах, выигравших чемпионат мира

Большие компании постоянно предлагают работу и ребятам, и мне. Не так давно мне пришло письмо от Google примерно в такой форме: скажите, пожалуйста, в каком офисе бы вы хотели работать? В Лондоне или в Цюрихе? Я как-то участвовал в году 2003 в Олимпиаде, которую Samsung спонсировал, они до сих пор периодически присылают письма: может быть, вы всё-таки хотите?

— Вы вообще такие варианты не рассматриваете?

— Совершенно непонятно, зачем мне это. Как правило, в крупных компаниях гораздо меньше возможности что-то пробовать.

— Есть ощущение, что программисты — это такое закрытое сообщество людей, которым комфортно друг с другом и не всегда с окружающим миром. Есть такое?

— Программисты могут быть замкнутыми в силу того, что у них немного специфичный способ мышления, поэтому про них придумывают всякие анекдоты вроде «намылить, смыть, повторить» и так далее. Но есть, наоборот, открытые ребята. Кстати, говорят, что ребята из команды, с которой я ездил в 2008–2009 годах, регулярно играли в тарелку, в мяч и звали играть с ними команды со всего мира и так задавали тренд. В российских компьютерных школах, как мне кажется, большое внимание уделяются тому, чтобы человек вырос хороший. Такая среда, которая может быть сложилась ещё с советских времён, — песни под гитару, самодеятельность, всё такое. Общественная деятельность какая-то ведётся, например спектакль можно поставить.

— А вы замечаете, что происходит омоложение профессии? 20-летние программисты выигрывают конкурсы и устраиваются в крупные компании.

— Талантливая молодёжь всегда есть, периодически появляются люди, которые в раннем возврате показывают очень хорошие результаты. Например, когда я учился в 11-м классе, семиклассник Петя Митричев из 57-й школы чуть было не помешал мне пройти на международную олимпиаду школьников. После Пети Митричева был Гена Короткевич, которому в пятом классе не хватило несколько баллов до золотой медали на той же международной олимпиаде.

— Но всё-таки есть какая-то ценность в тех, кто писал код 30 лет назад? Или им пора на покой?

— Опыт помогает какие-то спецэффекты исправлять быстрее, он играет роль, но дело в том, что языки, на которых пишут программисты, меняются очень быстро. Знание современных технологий и умение адаптироваться играет большую роль.

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

— Чем компания может привлечь программиста кроме решения интересных задач и зарплаты?

— Мне кажется, компаниям стоит быть более открытыми и участвовать в конкурсах и олимпиадах. Нужно, чтобы люди из компаний постоянно встречались и общались с программистами. Ведь что такое олимпиада? Это один из путей становления программистов. Олимпиады многие критикуют, будто они оторваны от реальности. Это не так, задачи, которые решаются на соревнованиях, — часть каких-то больших задач.

— Вы замечаете среди программистов людей с предпринимательским мышлением, людей, которые хотят открыть своё дело?

— Среди моего окружения такого мало, хотя тема интересная. Не знаю, почему-то об этом не принято задумываться. Может быть, нужно подумать о том, как переломить эту тенденцию.


Subscribe
promo toomth august 29, 2015 19:00 183
Buy for 100 tokens
Несмотря на дикие пробки на трассе Керчь-Симферополь, я таки выдвинулся сначала в райцентр Ленино, а потом и в город-спутник Щелкино, а уже оттуда попёрся на АЭС. В дикую жару, километров через 5 я понял что зря не взял такси... Пришлось намотать километров 20. В следующий раз возьму транспорт.…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment