Инкубатор гениев: кто выигрывает чемпионаты мира по программированию


Фото Getty Images

Чемпионат мира по программированию влияет на будущее сильнее, чем чемпионат мира по футболу. Как тренируют будущих чемпионов и чем они потом занимаются

«Знаете анекдот о старике, который на смертном одре раскрыл внукам свой секрет вкусного чая — «кладите больше заварки»? Так вот: чтобы построить Google, нужно просто инвестировать в образование», — говорит Светлана Великанова, CEO барселонского университета Harbour.Space. В этом университете в начале октября 2018 года прошли третьи учебно-тренировочные сборы Hello Barcelona Programming BootCamp по спортивному программированию для студенческих команд. В них приняли участие 39 команд из 16 стран, из них 12 команд из России. Такие тренировочные сборы — главный этап подготовки к чемпионату мира по программированию ACM ICPC (International Collegiate Programming Contest). В сущности, это отборочные соревнования, победитель которых почти всегда становится призером чемпионата.

Зачем нужны чемпионы

Чемпионаты по программированию ICPC проводятся ежегодно с 1977 года. Первоначально в них участвовали в основном команды из США, однако с конца 1980-х география начала расширяться. Американские программисты становились чемпионами 17 раз, однако в последний раз это произошло 20 лет назад. На втором месте Россия: 13 команд завоевывали чемпионский титул, причем последние семь лет Россия побеждает ежегодно. Другие чемпионы — Китай (4 победы), Канада, Австралия, Польша (по 2 победы), Германия и Чехия.

В 2018 году обладателями кубка ICPC в седьмой раз подряд стала команда российских студентов. Лучшими стали ребята из МГУ, а в число победителей вошли еще три российские команды: МФТИ (Московский физико-технический институт), ИТМО (Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики) и УрФУ (Уральский федеральный университет).

В каждой команде по три человека. В их распоряжении один компьютер, им дают 12 задач и пять часов на решение. Задачи отличаются от тех, какие стоят перед программистами Google или «Яндекса»: вместо сотен тысяч строк промышленного кода нужно написать код из 150–300 строк, который заработает на компьютере, причем сделать это быстрее всех.

«Вот классическая задача на чемпионате, — рассказывает основатель сообщества Codeforces Михаил Мирзаянов. — Представьте, что у нас есть помещение и серия заявок на аренду. Каждая заявка характеризуется стартовым и финальным днем, а также определенной стоимостью. Мы должны выбрать такой поднабор заявок, чтобы они не пересекались, а мы получили максимальную прибыль». Другой пример. Дана карта местности с несколькими городами. Правительство должно построить аэропорт таким образом, чтобы минимизировать сумму расстояний между всеми городами и аэропортом. Программистам нужно придумать алгоритм, который найдет эту точку на карте. Это математическая задача. В сущности, алгоритм, который выдает наиболее релевантные страницы в поисковике, делает то же самое.

Победить на чемпионате мира не просто почетно — такая победа нередко становится залогом последующих свершений. Один из чемпионов мира Тони Шей создал компанию Zappos по продаже обуви, которую в 2009 году Amazon купил за $1,2 млрд. Другой победитель ICPC Адам д’Анджело, друг Марка Цукерберга, стал техническим директором Facebook.

Большинство чемпионов из России впоследствии ярко проявили себя в информационных технологиях и бизнесе. Чемпионами и призерами ICPC становились Николай Дуров (брат Павла Дурова и сооснователь Telegram), Андрей Лопатин (один из первых разработчиков «ВКонтакте»), Федор Царев (глава питерского офиса хедж-фонда Игоря Тульчинского WorldQuant — $5 млрд под управлением), Петр Митричев (занимает одну из высших инженерных должностей в головном офисе Google), Геннадий Короткевич (тренер, обладатель чемпионского титула всех главных мировых соревнований по программированию), Виктор Шабуров (один из авторов приложения Looksery, которое компания Snapchat купила за $150 млн).

«Чтобы сделать проект на $1,7 млрд, такой как Telegram, нужны чемпионы», — говорит заведующий кафедрой технологий программирования Университета ИТМО профессор Анатолий Шалыто. Следующий вопрос: откуда этих чемпионов взять?

Как готовить чемпионов

Главный секрет, видимо, раскрыла Светлана Великанова: чтобы появились чемпионы, надо вкладываться в образование. Причем инвестировать следует не только деньги, но время и заинтересованность. «В традиционной модели, и не только в России, инвестиции в образование чаще всего рассматриваются бизнесом как форма социальной ответственности, а не как инвестиция, способная дать непосредственную отдачу, — считает сооснователь инвестиционного холдинга SDVentures Дмитрий Волков. — Во многом это связано с несовершенством самой образовательной системы, очень негибкой к изменениям среды. Но будущее за вузами, где преподают практики, а заинтересованные в молодых специалистах компании оплачивают обучение студентов».

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

Но импульс, полученный полвека назад, рано или поздно иссякнет. «Главная проблема — сохранить лучшие кадры в университетах, чтобы люди шли преподавать, а не уходили в бизнес», — считает Анатолий Шалыто. Сегодня на его кафедре в ИТМО преподают пять чемпионов мира и два призера ICPC. В 2018 году ИТМО занял 71-е место в международном рейтинге университетов Times High Education в области Computer Science. Помимо ИТМО в рейтинг вошли еще два российских вуза — МФТИ и МГУ.

Определенный вклад в поддержание высокого уровня российского образования способны внести корпорации: они заинтересованы в выращивании специалистов для себя. Кафедры, связанные информационными технологиями, пользуются поддержкой таких компаний, как «Яндекс», Mail.ru Group, «Лаборатория Касперского», Remy Robotics (эта фирма профинансировала участие команды немецкого университета TUM в сборах 2018 года в Индии), JetBrains (партнер ICPC). По информации «Яндекса», его инвестиции в образование за последние три года составили $15,2 млн. Эта цифра включает и специальную стипендию ВШЭ им. Ильи Сегаловича, сооснователя «Яндекса». Mail.ru и JetBrains не стали раскрывать суммы инвестиций.

Куда деваться чемпиону

У российской технологической среды существует еще одна проблема, и имя ее — Кремниевая долина. Мало воспитать будущих российских Цукербергов, надо еще сделать так, чтобы они не уехали к Цукербергам американским. Вкладываясь в образование будущих сотрудников, «Яндекс» и Mail.ru осознают, что созданные ими компетенции будут востребованы в Google. Впрочем, по словам Мирзаянова, среди топовых олимпиадников идея получить работу в IT-гигантах Кремниевой долины не слишком популярна: «Они не мечтают о работе в Google по той причине, что для них это слишком реально. Я думаю, что я бы с легкостью прошел испытания в Google. Если бы хотел, был бы уже там». Кроме того, российские IT-компании вполне конкурентоспособны на рынке вакансий и готовы платить программистам сопоставимые деньги.

Однако, по мнению Мирзаянова, огромные корпорации вообще не место для одаренных людей: «Для чемпиона по программированию работать на какую-то IT-компанию неправильно. Надо свои мечты исполнять». Он считает, что в корпорациях нелегко реализовать свои идеи и потенциал и лучшие программисты быстро уходят в небольшие стартапы. И тут для программиста-стартапера причины взять курс на Запад уже достаточно вески.

«Первым фактором является оценка компаний: компания с головным офисом в Москве или Санкт-Петербурге стоит в 10 раз меньше, чем компания с головным офисом в Сан-Франциско. Во-вторых, доступ к финансированию в США, особенно в Кремниевой долине, намного проще. В-третьих, в Долине сформировалась целая экосистема: там есть любые специалисты, и проще договориться с партнерами и крупнейшими технологическими компаниями», — говорит Дмитрий Волков.

В России инфраструктура поддержки таких специалистов и их проектов через венчурные фонды еще только формируется. По мнению Волкова, пересекая границу, стартап попадает на глобальный рынок, где объемы инвестиций совершенно другого порядка. Например, Telegram и Badoo очень успешны, и они созданы выходцами из России. Пример востребованности — белорусские Prisma и MSQRD. Их готовы купить крупные стратеги, такие как Google и Facebook, и в очередных раундах инвестирования за ними стоит очередь из известных венчурных фондов. «Или посмотрите на AnchorFree: компания Дэвида Городянского создала приложение HotSpotShield — ПО для зашифрованной передачи данных, количество пользователей которого уже превысило 600 млн человек более чем в 200 странах. Недавно они привлекли рекордные $295 млн финансирования», — говорит Волков.

Не менее важно, на какой рынок нацелен стартап. «Раз уж российский рынок информационных технологий развит недостаточно, значит, стартапам необходимо фокусироваться на разработке нишевого продукта, востребованного по всему миру, — рассуждает Волков. — Именно благодаря такому подходу израильские молодые компании, например, стали известны на весь мир и сделали страну своего рода европейским хабом для технологических стартапов».

Источник