РУБРИКА "IT-ЭКСПЕРТ"«Может быть, лишь два человека в мире знают, как все это работает»
«Алиса, заведи будильник на 7 утра» - можете вы сказать новому приложению Яндекса - и будильник прозвенит. Или: «Алиса, вызови мне такси» - и оно приедет. А знаете ли вы, что кроме создания программ, которые чем только не управляют - от стиральной машины до робота, который делает малоинвазивные операции по удалению аппендикса, программисты еще и разгоняют свои «серые клеточки» до скоростей «Формулы-1», участвуя в чемпионатах по спортивному программированию? И что команда из Уфимского государственного авиационного технического университета стабильно доходит до четверть- и полуфинала, а в 2006-м выиграла мировое первенство?
Третьекурсник факультета информатики и робототехники УГАТУ Олег Фатхиев - не только многократный участник подобных чемпионатов: благодаря этому он уже успел поработать в одной из крупнейших российских IT-компаний - Яндексе. Словом, мы просто не могли пропустить такой ценный источник информации. - Олег, расскажите, какие задачи решают на подобных чемпионатах? - Задач много - 12-13, их нужно решить за 5 часов. Например, такая: между городами А и В есть несколько дорог, одними можно пользоваться, другими - нет, и нужно найти кратчайший путь из А в В. Входные данные - количество городов, количество дорог - могут меняться, а программа должна в любом случае уметь найти правильный ответ. В целом это проверка на то, как быстро команда может придумывать решения и писать код. От университета на полуфинал нас ездило девять человек: две команды и три руководителя. В моей команде честь университета защищали также Ильдар Нафиков и Эрнест Шакиров. - Какое же место вы заняли? - Не очень высокое. Дело в том, что команда в этот раз была новая. - По каким критериям подбираете участников? - Главный - желание. В Уфе не очень много тех, кто увлекается спортивным программированием. Оно отличается от обычного, а кроме того, нужно хорошо знать математику. А многие программисты знают ее не так уж хорошо. Словом, если студент любого курса умеет хорошо и быстро придумывать решения - у него есть шанс попасть в команду. - А кто устраивает такие соревнования? - Началось все еще в 80-х годах в США: их решила устроить компания IBM, которая и спонсировала все чемпионаты до нынешнего года включительно. Тогда – в самом начале - это было довольно забавно: код проверялся не на тестовой системе, а людьми: опытные программисты читали его и пытались понять, работает он или нет. Сегодня такие компании, как Google, Facebook, в России - Yandex, Mail.ru устраивают свои собственные соревнования - только не командные, а личные. То же делают многие вузы: я уже съездил на олимпиаду в Новосибирск, в Казань, а в Екатеринбурге проходил четвертьфинал ЧМ. - И где же самые сильные программисты? - В Санкт-Петербурге. Но у них очень хорошие условия, много хороших тренеров, есть специальные классы… - Куда же потом все эти опытные кадры идут работать? - Самые топовые, как правило, остаются в своем институте преподавать спортивное программирование. Многие находят хорошую работу - в тех же Google, Facebook, Yandex, потому что там ценят сотрудников с таким опытом. - То есть российские программисты устраиваются в Google - им удается потеснить американцев на их территории. - Да. И не только нашим. В Индии много разработчиков, но они пишут довольно-таки плохо читаемый код: обучение там не на высшем уровне. Зато индийские работники обходятся недорого, и многие компании нанимают их на аутсорсинг, чтобы решать несложные задачи - так поступает, например, Майкрософт. Другое дело китайцы: их отправляют учиться в США - в топовые вузы, да и в самом Китае образование на уровне, и они довольно хорошие программисты. Их много в Google, Amazon, Facebook. И если вы поинтересуетесь составом команд, которые выходят в финал в чемпионате от Гарварда, Стэнфорда, Массачусетского технологического института и занимают призовые места, – я знаю две такие команды, они состоят из китайцев и россиян. Кажется, у Гарварда в команде трое участников-китайцев и наш тренер. - Получается, что наши лучшие мозги работают на соперников. Досадно… Расскажите о вашей работе в Yandex. - Это очень большая компания - там работает около 7000 человек. Работа устроена очень интересно: свободный график, офис открыт 24 часа в сутки. Многие приходят и по выходным. Созданы все условия для творчества: хорошее питание, везде чисто, открытые большие пространства, рядом с моим офисом был стол для киттера - настольного футбола, на котором я активно играл. От работы нужно иногда отвлекаться: иначе быстро перегоришь, но там никто этим не злоупотребляет. Все используемые технологии - собственные, созданные своими программистами. И могу сказать, что все они не уступают мировым. По пятницам проходили разные конференции, а потом - вечеринки на крыше. Словом, было очень интересно! - Почему же вы ушли? - Я был стажером во время каникул. Теоретически была возможность остаться, но я решил доучиться. Хотя в принципе сейчас в нашей стране диплом для программиста не так уж и важен. - Чем бы вы хотели заниматься после получения диплома? - Лично мне очень интересны задачи низкоуровневого программирования, связь с операционными системами, «железом». Это основа всего, и я хочу понять, как это работает, каким именно образом устройства компьютера выполняют наши команды. Сейчас в мире, может быть, есть всего пара человек, которые это понимают - и то не до конца. - И куда же пойти работать, чтобы заниматься этим? - Это сфера интересов таких компаний, как Intel, AMD, Qualcomm, Nvidia. Они совершенствуют физическое устройство компьютеров. Офисы Yandex, Касперского, Intel, кроме столиц, есть в Нижнем Новгороде, Новосибирске. - А как Уфе встроиться в мировой процесс развития IT? - У нас вообще не очень хорошо с работой для программистов. Маловато компаний, они предлагают не слишком высокую заплату и зачастую используют устаревшие языки: пишут на Delphi и Pascal, чтобы поддерживать уже работающий код. Мировые компании их давно уже не используют. - А какие языки используют на чемпионатах? - Обычно С++. Это непростой язык, зато один из самых быстрых. Я знаю еще несколько: Python, Ruby, Haskell, тот же Pascal. Большую часть изучил самостоятельно. - Какие задачи стоят сейчас перед мировой IT-сферой? - Конечно же, машинное обучение и искусственный интеллект, и в ближайшем будущем все силы будут направлены на это: есть очень много задач, с которыми машина справляется лучше, чем человек. Уже сейчас можно избавить многие компании от необходимости платить работникам колл-центров: компьютер лучше анализирует речь и быстрее реагирует на запрос. А знаете ли вы, что в Японии и в ОАЭ поездами метро уже давно управляет искусственный интеллект? Ведь управлять ими гораздо проще, чем транспортом на обычной дороге: поезд ездит вперед-назад, и управляющий механизм должен просто понимать, когда ехать, а когда остановиться и открыть двери. Он лучше определяет, что какой-то человек еще не зашел в вагон и, значит, трогаться рано. А обычный машинист может и недоглядеть. Думаю, что скоро исчезнут и юристы, которые работают с документами, выискивая в них различные неточности и лазейки: компьютер и с этим справляется лучше. Еще пример - аэропорт: когда сумки пассажиров едут на ленте-транспортере, они просвечиваются, и специальные сотрудники рассматривают изображения и определяют, есть ли внутри что-нибудь опасное. Компьютер можно научить делать это гораздо точнее. Если еще говорить про тренды - уже через пять лет появятся отличные автопилоты для автомобилей, и людям даже не нужно будет получать права. Но тут нужно либо всех пересаживать на машины с автопилотами, либо вообще этого не делать: практически все нестандартные ситуации возникают по вине человека. А если бы все машины управлялись искусственным интеллектом, они - точно так же, как пешеходы - могли бы коммуницировать друг с другом и избегать столкновений, даже без помощи светофоров. Компьютерный интеллект активно применяется и в медицине: уже сегодня есть робот - вернее, робот-ассистированная хирургическая система «da Vinci», которая делает микрохирургические операции гораздо лучше, чем человек. Искусственный интеллект способен сильно продвинуть вперед и медицинскую диагностику: например, определять по снимкам МРТ, есть ли у пациента рак. Хотя окончательное решение все равно будет принимать человек. - Сейчас говорят и об опасности искусственного интеллекта, даже глава компании Tesla Илон Маск высказывал такие опасения… - Я считаю, что это все очень преувеличено: мы еще далеки от создания настоящего искусственного интеллекта. То, что сегодня принято называть ИИ, на самом деле всего лишь алгоритмы, которые способны использовать собранную статистику для корректировки самих себя. У них нет абстрактного мышления, чтобы он мог задуматься: «А почему это я должен подчиняться человеку?». И не будет - в обозримом будущем.
Екатерина КлимовиЧ |