Когда Павел Хаустов учился в десятом классе, он не собирался становиться программистом. Но спустя 11 лет, в 2016 году, Павел вошел в топ-200 лучших программистов мира по версии проекта Codeforces. Через год вывез собранную им команду Томского политехнического университета на финал чемпионата мира по программированию в США. Сейчас он работает разработчиком в IT-компании Rubius и преподает. О том, как превратить Томск в IT-город и зачем нужно олимпиадное движение, Павел рассказал в своём интервью.

Не стой на месте

 В десятом классе я был уверен, что не стану программистом, но мои преподаватели по информатике и английскому языку почему-то считали иначе, – вспоминает Павел. – Они были уверены, что у меня все для этого есть. Я сомневался. К тому же считал, что программирование – занятие прикладное, дополнение к другой специальности. Думал, нужно сначала стать специалистом в чем-то.

Целенаправленно готовиться к олимпиадам по программированию Павел начал в 11-м классе. На соревнованиях познакомился с томскими преподавателями и студентами. Общение с олимпиадниками изменило представление о профессии: Павел понял, что это интересная специальность, и люди, выбравшие ее, успешны. Несколько студентов, с которыми Павел тогда решал свои первые задания, – теперь его коллеги в Rubius.

– Я не пожалел. С одной стороны, учиться на программиста сложно, с другой – это хорошие инвестиции в свое будущее. Многие студенты-программисты жалуются на большой объем заданий. У друзей с других факультетов нагрузка намного меньше. Зато потом, когда дело доходит до поиска работы, эти же друзья начинают жаловаться на низкую зарплату, а программисты перестают на что-либо жаловаться вообще…

Сейчас Павел работает над алгоритмами компьютерного зрения, компьютерной графики и анализа больших объемов данных. Когда он выбирал специализацию для магистратуры, эти направления уже были популярны в России.

– В 2011 году, когда я поступал в магистратуру ТПУ, у нас программисты уже «болели» компьютерным зрением и машинным обучением. Впервые об искусственных нейронных сетях я услышал где-то на втором курсе бакалавриата. С тех пор отрасль очень изменилась. Сейчас модели в области машинного обучения настолько сложные, что самостоятельно большинство людей даже не пытается их реализовать, стараются найти готовые решения в интернете или у крупных компаний. Есть люди, которые берутся и справляются, но их мало.

Тренируйся

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

– В индивидуальных олимпиадах все достаточно просто: есть человек, есть компьютер, есть задачи. Особенность командной олимпиады в том, что на трех человек есть только один компьютер, пять часов времени и от восьми до 13 задач. Победить можно, только если грамотно распределишь ресурсы, правильно поймешь условие, простроишь математическую модель, сформулируешь верное решение, формализуешь его и успеешь реализовать.

Решения проверяют автоматически: участники пишут программу, отправляют на сервер, где она проходит проверку. Вмешательство жюри в процесс минимально, члены жюри следят только за отсутствием технических сбоев. Чтобы добиться успеха в соревнованиях такого уровня объективности, одной удачи недостаточно, считает Павел.

– В области программирования очень большой разрыв между «олимпиадным» учащимся и обычным. В физике, например, одну или две самых простых олимпиадных задачи может решить и обычный студент или старшеклассник, в математике – тоже. В программировании, как правило, все сложнее: нужно понимать концепцию, привыкнуть к нюансам олимпиад. Люди без подготовки до соревнований международного уровня просто не добираются. Нужна хорошая математическая подготовка. Для того чтобы ее достичь, нужны усидчивость и умение собираться в нужный момент. В идеале еще и хладнокровие, но почти никто из участников им не обладает.

24 мая 2017 года в Рапид Сити (США, Южная Дакота) состоялся финал чемпионата мира по программированию, на котором впервые выступила команда Томского политехнического университета. Павел тренировал сборную университета несколько лет.

– Сегодняшнее поколение участников я готовил к чемпионату мира с тех пор, как они были 11-классниками, это довольно необычные люди, в которых сочетаются способности и желание. Обстоятельства и упорство ребят привели к пиковому успеху. Олеся Голуб стала лучшей на мировом соревновании девушек-программистов от Google. Она решила все задачи, что не удалось ни одной из ее соперниц. Николай Кузиванов в 11-м классе освоил алгоритмическое программирование за полгода. Это требует невероятно упорного труда. Третий участник команды, Алексей Ветров, с детства увлекается изучением компьютерных технологий и знает множество языков программирования.

Мысли стратегически

Помимо основной работы, как и многие его коллеги в Rubius, Павел преподает. Он читает курс «Введение в информационные технологии» в ТПУ. Каждый год спрашивает первокурсников о том, как они видят работу программиста и почему выбирают эту профессию. Большинство отвечают, что быть разработчиком модно, но не понимают, в чем состоит суть работы. По наблюдениям Павла, добиваются чего-то только те студенты, у которых есть необходимый минимальный набор качеств: усидчивость, хладнокровие и стратегическое мышление.

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

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

Томск может больше

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

– Я, наверное, вступил в тот возраст, когда заниматься подобными вещами становится сложнее. Меньше свободного времени, больше разнородной деятельности. Я хочу остаться в этом движении, но не готов быть его непосредственным руководителем. Раньше я мог организовать олимпиаду в одиночку. Хотя только на составление задач уходит очень много времени. Сейчас я понимаю, что нужна системная работа и что один человек не должен отвечать за весь процесс. Нужно находить новых энтузиастов. Есть опытные олимпиадники, которые тренируют младших ребят, но они учатся и участвуют в соревнованиях, то есть ограничены во времени. К тому же сами еще только нарабатывают педагогический опыт. Научиться понятно рассказывать что-то – процесс небыстрый. И скоро и в их жизни тоже появятся работа, стажировки и личные планы на будущее.

Компании по всей России, и не только из сферы IT, заинтересованы в хорошей математико-алгоритмической подготовке кадров, поэтому в европейской части страны в олимпиадное программирование приходят инвестиции. В Томске олимпиады поддерживает компания Rubius. В компании также действует программа по работе с талантливыми студентами. С поездкой томичей на чемпионат мира в США помог директор Института кибернетики Сергей Байдали. Однако олимпиадному движению нужна более широкая поддержка бизнеса и люди, которые бы им жили.

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

По мнению Павла, для развития IT-отрасли в Томске нужны большие инвестиции и четкое понимание целей. Потенциал у города есть, но нужно ускорить темпы работы.

– За всю историю мирового чемпионата по программированию только от четырех российских городов в финал выходило больше одной университетской команды. Это Москва, Петербург, Самара и Томск. Томск – студенческий город, информационные технологии здесь достаточно популярны. Здесь есть ресурсы, чтобы «слепить» что-то интересное, но сейчас мы делаем гораздо меньше, чем могли бы. Если смотреть дальше на восток, то в Томске уровень существенно выше. Что делать, чтобы вывести Томск на самый верх? Прозвучит банально, но… работать.

Напомним, что в Томске сейчас действует более 100 IT-компаний, работающих на экспорт. По их количеству на 1000 человек город существенно уступает только Москве.

Источник: inotomsk.ru

Для обратного звонка заполните форму

Позвоните нам по номеру +7 (3822) 9-7777-2
или напишите на почту info@rubius.com
Для обратного звонка заполните форму:

loading