О образовании в ИТ, особенностях подготовки серьезного программиста и о роли Интернета в развитии науки - Максим Мошков (Lib.ru)

 

Сегодня у нас в гостях Максим Евгеньевич Мошков, основатель электронной библиотеки www.Lib.ru. Максим рассказал о состоянии современного образования в ИТ, особенностях подготовки серьезного специалиста-программиста и о роли Интернета в развитии отечественной науки.

 


Над интервью работали: Мележик Евгений, Валерия Лавренко.

 

Скажите пожалуйста, вот Вы начинали как ученый, почему Вы решили пойти в науку?

Максим: Ну я все-таки вряд ли начинал как ученый. Я учился в математической школе, я учился на механико-математическом факультете, и вся моя наука ровно там и кончилась. Я отучился на факультете, я отучился в аспирантуре, а после этого пошел, как нам и обещали, в программисты в НИСИ. И тогда кончилась моя научная работа и началась программистская, и интернетовская, и системно-юниксовская. Почему ушел? Ну, наверное, я переучился. Три года мат. школы, университет и три года аспирантуры. И все таки, математика, хоть и интересная была наука, но в какой-то момент она мне наскучила. Потом, я был, все таки, не самый лучший ученик, на мех-мате были ребята существенно сильней меня. А я был нормальный середняк, который в школе был отличником, а в университете оказался всего лишь в числе первой сотни.

А как Вы можете оценить, как изменился уровень подготовки специалистов с тех пор, когда Вы учились и начинали, и сейчас? В IT-сфере, я имею в виду?

Максим: Я могу очень косвенно сравнивать, во-первых. Когда я учился, на ІТ-шников не готовили. Дело було с 1983 по 1988 год, когда я учился в университете. Тогда был факультет вычислительной математики и кибернетики в университете, но, право слово, нынешние ІТ-шники из тамошней программы мало чего бы почерпнули. Опять же, математики и там околоматематические факультеты университета – это одно, это уровень мозгов другой у входной аудитории.

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

А нужно ли для поготовки толкового программиста такое вот системное математическое образование? То есть, ну не знаю, теоретическая механика, мат. статистика – то, что обычно изучается в университете не ІТ-шного профиля?

Максим: Вы знаете, с одной стороны совершенно непонятно. То есть, из хорошего математика, которому надоедает заниматься математикой, а у него мозги все равно построены подходящим образом, программисты получаются хорошие. А с другой стороны, можно не тратить времени на чистую математику, теор. мех. и другие науки, а поучиться всерьез компьютерным вычислениям, но только при условии, что вы попадаете в правильный ВУЗ, который дает вам хорошую базу, вычислительную базу.

А я так понимаю, этим не каждый ВУЗ может похвастаться, потому что…как бы, не у меня надо спрашивать. Я для себя, например, на базовом уровне знаю, как работает операционная система. При том, что для нас это была тема, совершенно, такая, левая. Там один семинар, один учебный курс, за который наши преподаватели дали нам те вещи, которые я теперь опознаю как базовые принципы построения, на которых строятся любые операционки на свете.

Дают ли тот же кусок знаний обыкновенным вычислительным факультетам? А вдруг там учат какой-нибудь Basic, C++, Java и все. И что, вас тогда научат программированию, но вы не будете все равно знать, как работает компьютер, или как работает операционная система?

То есть, Вы считаете, что с принципов надо начинать?  С самого базового уровня?

Максим: Я считаю,  что принципы надо поучить тоже. Программировать надо учиться не только языку, но и программировать хорошо. Ну опять же, спросите – в каком ВУЗе Кнута проходят ребята? Или нет? Устройство операционной системы UNIX? Устройство операционной системы  Windows проходят на базовых уровнях, или нет? Просто учат язык или языки? Я думаю, учат ли там базовые вычислительные методы для многих вещей? 

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

При котором все равно должен сидеть ученый, постановщик задачи, который ему будет по буквам диктовать, что ему программировать. Вы видели когда-нибудь, когда вам дадут такого готовенького?

Понятно. А как Вы считаете, какие-то системы математических расчетов (есть пакеты, MatLab, Mathematica, Maple), насколько специалисты, умеющие работать с ними, восстребованы?

Максим: Я не знаю. Я, к сожалению, не умею с ними работать. Но я считаю, что есть места, где они нужны. Мне не попадались, но они, конечно, есть. Представьте, сейчас очень популярна система видео-компрессии, система представления изображений, организации 3D-графики. Это на Западе широкая программисткая работа идет в этих областях. С другой стороны, системы ГИСовские, гео-позиционирование, определение координат, управление этими вещами – это вот научное программирование. Системы распознавания, системы обнаружения – там куча науки во всех этих областях.

Как Вы считаете, все эти разработки, они еще идут со старой советской науки? Ну, в частности, системы распознавания лиц, например, системы позиционирования, навигация (Navitel, Navicom) – это еще старые советские наработки идут?

Максим: Вы знаете, я боюсь все-таки, что советская школа программирования, как таковая, которая завоевывает мир, хотя бы частично… ее все-таки не существует.

Все-таки, моду задает Запад. Как это не печально, в общем, на всех уровнях. У нас есть толковые конторы, толковые команды, которые роют какие-то отдельно взятые ниши, которые отдельно взятые задачи решают. У нас есть несколько вузов, в которых учат хороших, действительно, программистов, настоящих программистов, тех, какие они должны быть. Опять же, их счетное число, поштучно. Но сами сообразите, кто придумал язык программирования, на котором мы пишем, кто придумал операционные системы, на которых мы работаем?

А что придумали наши ребята? Несколько программ для Androida? Несколько банковских клиентов? А где все остальное? Где русские программисты? Где украинские программисты? Программируют игру Stalker? Или что-нибудь еще?

А вот была статья про процессор, который, кажется, разрабатывается, русский процессор…

Максим: Так его нету…Советские, российские военные ракеты применяют образцы, которые производят в России. Но этот процессор сделан, на самом деле, на Западе, он просто хорошо срисован, воспроизведен и делается. Но я знаю процессор Intel, я знаю процессор AMD… А где вы тут видите советский, или российский, или какой-нибудь еще? Я еще не слыхал про такие.

А вот Web-программирование – это что-то такое прикладное, чему не нужно учиться, и его можно самому освоить? То есть важно азы осваивать?

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

Но, снова-таки, Web-программирование – это такая узко-утилитарная, ремесленная работа. Вообще говоря, чем больше двигаемся вперед, тем менее восстребована эта профессия становится. И, точнее, она как бы опускается на уровень водителя трамвая, ремонтника, сантехника. Ну программист, ну там склепал для соседского районного магазина Интернет-магазин.

И что? Конечно, нужное дело, всем нужны Интернет-магазины, но опять же – ну и что?

Как Вы считаете, как ІТ-технологии могли бы помочь в развитии науки? Вот известно, что и в России, и в Украине остался старый, как мне кажется, менталитет, когда ученые достаточно разрознены… И как Интернет мог бы им помочь преодолеть эту разрозненность, эффективнее работать, может совместно?

Максим: Я так понимаю, что, как только у вас возникает система коммуникации между учеными, система постинга, размещения статей, совместной научной работы, при которой, грубо говоря, пишешь статью – и ее тут же видят люди, с которыми ты работаешь в этой теме, то вот уже этого от Интернета предостаточно. И это нам дается даже теми средствами… не всякими специализированными системами.

То есть, если б не было специализированных математических сайтов и сообществ, то те же самые математики могли бы напрячься, за месяц договориться и общаться через тот же Facebook, Вконтакте или LiveJournal. Любая научная среда очень легко в это встраевается. Они – люди с головой, они умеют решать свои конкретные проблемы. Я начинал работать в середине 1990-х годов. Вот, собственно, где и возник первый Интернет в Москве? Ученые математики, физики, химики притащили себе Интернет, чтобы добираться до западных статей. Первый Интернет был там, для них, а потом уже все остальное было.

А как Вы думаете, есть такая проблема между учеными, возможно мне это кажется, что не хватает общения между коллегами одной специальности, но разных ВУЗов, например? Насколько важно делать какую-нибудь специализированную площадку, где они могли бы находить друг друга? Насколько важно и в какой мере организовать их общение? То есть, они самоорганизовуются, или это надо прикладывать усилия, чтобы их туда завести, потом рассказать, что тут надо делать, как искать коллег?

Максим: Под лежачий камень вода не течет. Делайте площадки, тащите их вместе. А то, что сейчас математику возьмешь, там какой-нибудь математический результат вполне может оказаться решен трижды в трех разных местах, потому что они поленились почитать статьи других, уже изданные, в разных просто журналах. Как-то надо собирать свою тему вместе.

Вы могли бы порекомендовать молодым специалистам какие условия лучше изучать и на что сделать упор, чтобы дальше было легче? Мир дальше будет меняться, что-то новое появится… чтоб дальше к этому легче было адаптироваться?

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

Учиться полезно – это я знаю точно. Но иногда бывает полезно просто учиться чему бы там ни было, главное, чтоб вам это было интересно. Вот если учишься из-под палки, чтобы сдать галочку – то такую учебу надо не то что бросать, то такую учебу надо не начинать. А учиться надо тому, что тебя увлекает. В этом случае все равно чему-то учишься и толк будет, и результат.

Как Вы оцениваете курсы вроде Coursera, стоит ли молодым людям брать там курсы, получать сертификаты, или они пока не признаются работодателями?

Максим: Не знаю, не знаю… Я вообще большой поклонник самообучения. Если эти курсы Coursera дают нужные знания, нужные навыки, то на бумажки настоящий работодатель, а не госконтора, не смотрит. Ему нужны сотрудники, которые умеют работать и решать задачи. Откуда они эти знания подхватили и есть ли у них подтверждающая бумажка, нормального работодателя уже давно не интересует.

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

Максим: Ну разделяю в том, что контроль там есть.

Но на счет нечего… А если ты от них отделишься, что, ты будешь делать отдельно взятую науку в отдельно взятой стране? Тоже плохо.

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

Спасибо большое!

Максим: Пожалуйста.