«Азарт, как в любом спорте». Кто и зачем участвует в чемпионатах по IT
Собрать вместе «золотую» команду программистов практически невозможно. Все уже работают: Алексей Данилюк в Харькове, Валерия Рябчикова в Москве, только Николай Калинин остался в Нижнем Новгороде.
Чуть старше 20-ти, но уже «почти пенсионеры» использовали последнюю попытку и реализовали ее на 100%, завоевав золотые медали престижных международных IT-соревнований.
Как уже рассказывал NN.DK.RU, в начале октября сборная Университета Лобачевского впервые выиграла финал чемпионата мира по программированию среди студенческих команд. Но только сейчас удалось пообщаться с одним из игроков и руководителем команды.
Собрать вместе «золотую» команду программистов невозможно. Все уже работают: Алексей Данилюк в Харькове, Валерия Рябчикова — в Москве, только Николай Калинин остался в Нижнем Новгороде — после окончания ННГУ обучается в аспирантуре Институте прикладной физики РАН.
Успели в последний вагон
Из-за пандемии чемпионат мира по программированию, так же, как и Олимпиаду в Токио, перенесли с 2020 г. на 2021-й. По этой причине молодые специалисты, уже не студенты, получили возможность участвовать в нем. Ребята прыгнули, что называется, в последний вагон и не подвели ни себя, ни родной университет.
Свою команду они в шутку назвали «Almost retired», что значит «почти пенсионеры». 20 с небольшим лет — почти пенсионный возраст для олимпийского движения в сфере спортивного программирования. Свою последнюю попытку ребята реализовали на 100% и стали чемпионами.
«Конечно, мы более или менее понимали, что у нас будет первое место, потому что все команды знают друг друга и общаются. А «замороженные» результаты были только для зрителей, но, конечно, все равно радость была. Можно сказать, что эта победа была целью в течение долгого времени и прекрасно, что получилось ее достичь», — говорит участник команды Николай Калинин.
Три медали за 10 лет
Кубок займёт своё почетное место среди других многочисленных наград. Но готовиться к победе, как говорит доцент кафедры программной инженерии Университета Лобачевского Николай Борисов, надо начинать еще в школе. Именно там находят самых талантливых ребятишек, которые начинают участвовать в олимпиадах.
Эта работа идет не один год, а начинается все в школе. Ребята участвуют в олимпиадах с 7-го класса, но бывает, что и раньше. Все ребята, которые попали в эту команду будучи школьниками, уже участвовали во всероссийских олимпиадах и завоевывали награды. Коля Калинин был победителем нижегородской олимпиады, завоевал «золото» на чемпионате России, «золото» на международной олимпиаде школьников, поэтому можете себе представить уровень подготовки и количество времени, затраченного на тренировки, — говорит руководитель команды, доцент кафедры программной инженерии Университета Лобачевского Николай Борисов. — Я уже много лет занимаюсь организацией олимпиад для школьников и, конечно, вижу, в каких школах растут эти ребята. Чем раньше человек придет в олимпийское движение, тем больше шансов, что впоследствии получит такое признание.
В финал самых престижных соревнований по программированию команда ННГУ попадает третий раз.
«В 2011 году, когда команда ННГУ первый раз попала в финал чемпионата мира, подготовкой программистов занимался Владимир Лелюх — замечательный педагог, создатель нижегородской школы интернет-программирования. Он очень много работал со школьниками и впервые нашу университетскую команду вывел в финал. Тогда они завоевали серебряные медали. Из той команды два человека сейчас помогают нам организовывать эту работу. После смерти Лелюха уже я поехал с ребятами в Таиланд на чемпионат мира, где мы получили бронзовые награды. Из той команды у нас Николай Калинин. Таким образом, сейчас был наш третий выход в финал: было серебро, бронза, и теперь уже золото», — говорит Николай Борисов.
Теперь название Университета Лобачевского будет выгравировано на кубке наряду с другими победителями.
Но у любой медали есть и обратная сторона. Николай Борисов посетовал, что многие школьники, получив призовые места на престижных соревнованиях, уезжают из Нижнего Новгорода поступать в Москву и Санкт-Петербург.
Семья и школа
Николай Калинин учился в лицее №40, специализирующемся на углубленной подготовке по физике, математике и информатике. Это учебное заведение по праву считается сильнейшим в городе. Но, кроме школы, будущее Коли во многом определил его старший брат.
«Меня старший брат привел в олимпиадное программирование еще в младших классах. Он тоже призер мировой олимпиады среди школьников, золотой медалист. Он тоже участвовал в чемпионате мира, но тогда было сложно: они выходили в финал, но не добирались до медалей», — рассказывает Николай.
«Самое сложное было разобраться с изменениями в правила, которые внесли в последний момент. Раньше на команду из трех человек давали один компьютер, а сейчас из-за ограничений было три компьютера, поэтому результат был непредсказуем. Затея в том, чтобы правильно распределить свое время, сделать как можно меньше ошибок. На трех компьютерах писались разные задачи, но общаться между собой, естественно, можно было», — говорит победитель.
Всего было 15 задач, для каждой из которых необходимо было придумать быстрый алгоритм и запрограммировать его. Команда ННГУ решила 12 задач. Ближайшие соперники — команды из Сеульского университета, университета ИТМО и МФТИ — только 11.
«Например, одна из задач формулировалась так: есть два набора точек на сфере, известны широта и долгота каждой точки, но проблема в том, что мы не знали, насколько одна сфера повернута относительно другой — то есть долгота может меняться. Нужно было определить, правда ли, что эти два набора точек совпадают. У нас есть несколько миллионов точек и одна секунда на решение. На самом деле эта задача оказалась достаточно простой и несколько похожей на те, которые мы уже решали: данные в цифровом формате можно представить в виде строки, и эта задача превращается в достаточно известный алгоритм на строки», — говорит Николай.
Никаких особых карьерных амбиций в связи с победой Николай не испытывает, хотя и признает, что для многих участие в соревнованиях — путь в IT-карьеру.
«В этих соревнованиях участвуют десятки тысяч людей по всему миру. Для многих из них это путь в IT-карьеру, попытка засветиться. Предложения от IT-компаний поступают постоянно, но у большинства людей, которые заняли первые места на таких соревнованиях, нет цели поступить на работу в IT-компанию».
Свое увлечение программированием Николай называет хобби. Напрямую это увлечение с основной работой не связывает.
Я научный сотрудник в ИПФ РАН, занимаюсь экспериментальной физикой. Конечно, часть моей научной деятельности непосредственно связана с программированием и какие-то навыки пересекаются, но достаточно слабо. На работе все знают, что программирование — мое хобби, и относятся к этому, можно сказать, хорошо, — говорит он. — Вообще, спортивное программирование достаточно развитые интеллектуальные соревнования. Есть несколько платформ, самая известная из них российская Codeforces, где проводятся практически каждую неделю короткие соревнования по программированию. Кроме того, разные крупные компании проводят личные соревнования, например, Google. Я регулярно в них участвую, выхожу в финал. Привлекает решение необычных задач. На соревнованиях высокого уровня это задачи, которые до вас решили буквально несколько человек из членов жюри. Есть азарт, как в любом спорте.
Читайте также интервью NN.DK.RU с Алексеем Мяковым, который в июне 2021 г. стал генеральным директором по исследованиям и разработкам Intel в России. Ранее он с друзьями создал компанию, которую купила Американская Intel Corp.