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

May 31, 2016 11:01

Команда студентов Санкт-Петербургского университета выиграла чемпионат мира по программированию, который завершился 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 лет назад? Или им пора на покой?

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

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

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

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

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

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

Источник

технологии, наука

Previous post Next post
Up