Сегодня живущий в Петербурге белорус Геннадий Короткевич является самым титулованным программистом мира.
Геннадий Короткевич в спортивном программировании — как Усэйн Болт в беге. Он выиграл все самые известные соревнования, начиная от командного чемпионата мира (дважды) и заканчивая индивидуальными турнирами, которые организуют Google, Facebook, Яндекс, Mail.ru и другие компании. Сегодня Короткевич является самым титулованным программистом мира и занимает первое место в рейтинге сильнейших кодеров по версии Codeforces.
Гена — белорус, он вырос и окончил школу в Гомеле, после чего переехал в Санкт-Петербург и поступил в знаменитый своими олимпиадными достижениями университет ИТМО. Сейчас он учится на первом курсе магистратуры.
Интервью с компьютерным гением из Гомеля опубликовало издание Rusbase.
— Поговорим о скорости. О твоем умении расправляться с задачами ходят легенды. У тебя есть какая-то своя методика?
— Скорее, это определенные подходы и идеи, которые можно применять. С одной стороны, это common sense. То есть какого-то свода методик, как подойти к решению той или иной задачи, не существует. С другой стороны, все очень индивидуально. Например, есть сложная задача. Я ломаю голову над ее решением и не понимаю, как к ней вообще подступиться. И тогда мне бывает полезно взять какой-нибудь частный, конкретный случай. Они бывают легкие, тривиальные, а бывают посложнее. Я пытаюсь найти наиболее сложный для меня частный случай, который еще не умею решать. Решение частного помогает придумать решение для общего. Это лишь один из примеров.
— Что насчет озарений? Сидишь-сидишь, а потом — раз, вот же оно!
— О да, такое бывает довольно часто. Иногда нужно просто подойти к задаче с другой стороны. Помню, как в финале чемпионата мира-2015 в Марокко мы с ребятами бились над одной из задач, которую довольно быстро решили другие команды. Прошло уже больше двух часов, а мы все еще не знали, что делать. И в какой-то момент нас осенило. Иногда приходит случайное озарение, и ты понимаешь, что требуется. А иногда надо раскручивать задачу пошагово — одну мысль за другой.
— Твои родители — программисты. Как думаешь, это сыграло важную роль в твоих достижениях?
— Личной подготовкой я обязан папе. В детстве мы с ним много занимались: разбирали задачи, учились программировать вместе, и это было очень классно. Папа объяснял мне программирование так, чтобы я понял. При этом меня никто не заставлял — пойди и позанимайся. Наоборот, бывало, говорили — пойди и отдохни. То есть мне самому решать задачи было интересно. Еще у нас в Гомеле был кружок для школьников-программистов под руководством Михаила Семеновича Долинского. Я попал в среду, где можно было с ребятами что-то пообсуждать и потренироваться — ценная штука.
— Самый большой призовой чек, который тебе вручили после победы?
— На крупных соревнованиях призовые могут достигать $15 тысяч. Например, на Google Code Jam.
— Тебе предлагали работу в больших компаниях вроде Google?
— Да, несколько раз. Но здесь есть тонкости. Обычно финалистам соревнований не предлагают работу напрямую. Как правило, их сначала зовут на собеседования. Если ты хорошо выступишь на турнире, организованном Google или Facebook, тебе скажут — приходите к нам, пообщаемся. И уже после собеседования могут сказать, на какую позицию приглашают и на какие деньги. Меня так звали в Google, но я не ходил.
— Почему?
— Знаю, что для тех, кто занимается олимпиадами и хорош в алгоритмах, не составляет особого труда пройти собеседование. То есть я понимаю, что, скорее всего, пройду собеседование и получу работу. Но работа мне пока не очень нужна.
— Ты бы хотел получить российское гражданство?
— Только если из-за него не надо будет отказываться от белорусского паспорта. В целом я не вижу причин, зачем мне это нужно.
— Опровергни миф о том, что все программисты — странные гики.
— Ха-ха, но ведь это отчасти правда! На самом деле, все люди разные, а среди программистов есть много вполне адекватных ребят, которые не только сидят перед компьютером, но и другими вещами интересуются. Я, например, участвую в соревнованиях по настольному теннису, слежу за большим теннисом. С личной жизнью тоже все в порядке — у меня есть девушка. Я себя гиком точно не считаю.