Российский программист: ничего особенного
Утверждение, что «русские — лучшие в мире специалисты в области программирования», скоро станет мифом.
Министерство связи и массовых коммуникаций подготовило проект указа Президента РФ «О Дне программиста» (см. справку). По словам представителей Минсвязи, вопрос можно считать практически решенным. Это хороший повод поговорить об одном из ключевых мифов, издавна тиражируемых в российских СМИ: якобы в России лучшие в мире специалисты в области программирования.
Собственно, сам вопрос не в том, чтобы опровергнуть или, наоборот, подтвердить эту точку зрения, ибо она имеет, как и во многих подобных случаях, религиозный характер и рациональными аргументами не подтверждается и не опровергается. Вопрос стоит так: если программисты у нас хорошие, то почему, кроме разве что бухгалтерских программ и некоторых других систем (например, электронных переводчиков или распознавателей русского текста), все остальное на наших компьютерах иностранного происхождения? И в чем проявляется сила наших программистов, если в области офшорной разработки программ Индия имеет почти половину мирового рынка общим объемом более 50 млрд долларов, а Россия — всего порядка 3%?
Степан Пачиков, один из самых известных представителей нашей школы программистов за рубежом (ему, в частности, принадлежат технологии рукописного ввода информации, которые и поныне используются во многих устройствах), в своем интервью журналу «Компьютерра» так характеризовал причины возникновения точки зрения на российских программистов как лучших в мире: «Процент «левшей» одинаков в каждой стране. Но в Европе и США, если человек умный и талантливый, он может быть юристом или экономистом. В России же, если ты умный и талантливый, ты стараешься быть подальше от идеологии, а области, которые в какой-то мере были защищены от идеологии, — это математика, астрономия, физика и т. д. <...> Программистами тогда были, как правило, люди с хорошим математическим образованием. И появилась школа отношения к программированию как к хорошей серьезной науке». Затем, полагает Пачиков, ситуация резко изменилась: появилась возможность реализовать себя в бизнесе, в той же юриспруденции. Российская наука пошла ко дну, а вместе с ней и программирование: «Разумеется, они (хорошие программисты. — Ю.Р.) есть. Но их ой как мало».
По моей просьбе эти высказывания прокомментировали некоторые деятели программистского рынка. Многие, не опровергая тезисы Пачикова в целом, обратили внимание, что причины тут все-таки иные. Образно выразил эту точку зрения Алексей Иванов, партнер компании «Ашманов и Партнеры» (работает на рынке интернет-маркетинга): «Раньше был электронный фронтир, поэтому каждый новый человек, который появлялся на этом фронтире, — во-первых, был крут, как Клинт Иствуд, а во-вторых, был сразу заметен и всем известен. При этом не играло никакой роли — были у него деньги для реализации больших проектов или нет: один человек сам по себе мог сделать очень многое. Как только пришла цивилизация, правила игры изменились: фронтир исчез, поэтому, чтобы сделать что-то заметное, как правило, нужны бюджеты, армия пехоты, полк сержантов к ней, батальон лейтенантов, рота полковников и взвод генералов. Все это — общемировые тенденции, Россия просто находится в их русле».
Поэтому люди, работающие в области программирования, поделились на две категории: собственно программистов (их лучше назвать кодировщиками) и тех, кто ставит им задачи. Павел Шевчук, владелец программистской фирмы в Новой Зеландии, не согласен с таким разделением: «Вообще, просто программист — это нонсенс. Изобретение нового времени. Я своим маркетологам всегда вбиваю одну мысль: мы продаем не программы, мы продаем решение проблем клиента. Просто программист, который как угодно круто умеет писать программы, — бесполезен. Как бесполезна, например, программа по вычислению сферического коня в вакууме. Каждая программа должна решать определенную задачу, быть полезной человеку. Значит, программист должен как минимум хорошо знать эту задачу». Вот именно в этом и было преимущество российских программистов старого поколения, считает журналист и интернет-деятель Андрей Шипилов, отмечая, что положение заметно ухудшилось: «Самостоятельно решать задачи, по моему опыту, нынешнее поколение программистов не умеет и не стремится к этому. При необходимости решить ту или иную задачу они ищут в Сети и в литературе готовое решение».
Но само число задач возросло настолько, что программистов попросту перестало хватать. И вполне вероятно, что число талантливых и образованных специалистов в этой области ничуть не уменьшилось, полагает программист Андрей Калинин: «В Москве найти хорошего программиста сложно и долго, неквалифицированные программисты требуют больших зарплат и т.п. Это следствие большого количества имеющихся задач и как раз создает впечатление, что программисты стали хуже. Но ведь вполне вероятно, что не стали и что количество талантливых программистов нового поколения сравнимо с количеством их в старом поколении, только они уже имеют хорошую работу и не хотят переходить куда-нибудь».
Игорь Кривоконь из компании Google вообще не согласен с такой постановкой вопроса: «Для того чтобы вывести картину среднего программиста из какой-то страны, нужно иметь очень большую выборку, которую практически нереально собрать. Все суждения о качестве программистов делаются на основе личных наблюдений. Работая в большой компании, я очень много интервьюирую, через меня прошли сотни человек, но на интервью попадают только те программисты, которые прошли через «первичные фильтры». И среди этой «верхушки» я не видел никаких серьезных, принципиальных расхождений в уровне между, скажем, американцами, индийцами, китайцами и русскими. Хорошие программисты — хороши независимо от национальности. Плохие программисты из разных стран, действительно, имеют специфическую «окраску», но зачем на этом концентрироваться? К сожалению, в процентном соотношении хороших мало везде. К счастью, в абсолютном исчислении — их везде хватает, а уж в России — и подавно».
Андрей Калинин также обращает внимание на то, что российские программисты из года в год занимают высшие места на международных олимпиадах. Добавим, что по крайней мере один случай успешного применения своих навыков этими лауреатами у всех на слуху: это крупнейшая российская социальная сеть «В контакте», которую почти в одиночку создал Павел Дуров, призер мирового чемпионата по программированию 2000 года.
Так что, с одной стороны, мнение о российских программистах как о чем-то сильно выдающемся в мировом масштабе не имеет под собой особых оснований — за исключением разве что успехов студентов на олимпиадах. С другой — в этом отношении у нас дело обстоит ничуть не хуже, чем во многих других странах, и учитывая в целом интернациональный характер отрасли, число российских проектов вполне пропорционально объему рынка. Однако в России традиционно — и далеко не только в программировании — не хватает ремесленников, простых кодировщиков. Так, индийские программисты — именно кодировщики, они зарабатывают свои миллиарды, решая чужие задачи строго по техническому заданию, чисто индийских программных проектов в мире известно куда меньше, чем российских. Вероятно, это упущение — а может быть, все-таки национальная специфика?
Однако и об этой «специфике» в ближайшие годы можно будет забыть, если не изменится положение с качеством образования в России. Алексей Иванов: «Идет повсеместное сокращение фундаментального образования — одновременно с падением его уровня. Я наблюдаю, как часы, ранее отводимые серьезным фундаментальным курсам, отдаются новым словесным курсам, не имеющим отношения к профильной науке. (Но их легко читать.) Рано или поздно это приведет к тому, что, как бы хорошо ни преподавалось программирование, общий уровень выпускников будет снижен».
О том, что и политика государства никак не способствует процветанию отечественной программной индустрии, не раз говорил близкий к правительственным кругам президент группы IBS Анатолий Карачинский. Причем он полагает, что протекционистская политика, когда государство отдает предпочтение отечественным продуктам (такие инициативы в начале мая озвучил вице-премьер Сергей Иванов), даже если они хуже и дороже, неперспективна. Куда вернее было бы, приводит его мнение сайт «Технологии и средства связи», если бы западные компании, выигрывая в России крупные стратегические контракты, тратили часть заработанных на них денег на создание рабочих мест, как это делается в той же Индии. А Степан Пачиков выражается еще резче: «...правительство делает все от него зависящее, просто все, что можно и «неможно», чтобы загубить программную индустрию. Очень многие российские фирмы выводят программирование за пределы страны. Работать с программистами в Украине и Беларуси сегодня проще и легче. И если бы я не был российским гражданином, если бы я не был эмоционально вовлечен, я бы предпочел вообще не иметь дела с Россией».
В результате может так случиться, что та самая российская национальная специфика, заключающаяся в преобладании «левшей» над «ремесленниками», в конце концов действительно полностью перейдет в область мифологии. И российских программистов как заметного явления в мировом масштабе просто не останется. А пока, к счастью, они все-таки есть, и, надеюсь, в сентябре мы их теперь уже официально поздравим с профессиональным праздником.
Справка «Новой»
Инициатива по поводу введения праздника для программистов возникла давно: еще 15 июля 1996 года в журнале «Компьютерра» появилась заметка, предлагающая отмечать «День компьютерщика в первую пятницу сентября (день был выбран так, чтобы не совпадать ни с одним из известных праздников или юбилеев).
Название «День компьютерщика» в дальнейшем было признано неудачным и его сменили на более корректное «День программиста», а отмечать его предложено в 256-й день года (256 — число, равное количеству вариантов, содержащихся в одном байте информации), т.е. 13 сентября (и 12 сентября в високосном году).