КАДРЫ
Я внимательно прочитал статью Влада Боркуса "Аутсорсинг: что "мы" хотим от вуза, или Какие кадры сегодня нужны", опубликованную в PC Week/RE, N 8/2005, c. 34. Я согласен практически со всем, что сказано в ней. Однако автор пишет только о квалификации рабочей силы в указанной области, а не о личностных качествах программиста. Несомненно, чтобы работать в аутсорсинге, необходимо иметь квалификацию и способности для решения весьма сложных задач, которые часто ставит заказчик. При этом не вызывает удивления тот факт, что требуется хорошее знание иностранного языка, а об умении излагать свои мысли по-русски нет даже и речи. Что делать, такова специфика работы.
Но кроме просто способных людей в нашей стране есть еще достаточно много очень талантливых. Государство имеет отработанную, научно обоснованную систему выявления и обучения талантливых детей в различных областях знаний, включая информатику. Эта система не только не разрушилась за последние годы, но и укрепилась, за что низкий поклон людям, посвятившим себя этим детям, и государству, которое награждает талантливых мальчишек и их учителей премиями Президента Российской Федерации.
Но мальчишки вырастают, оканчивают университеты, их талант созревает, и для них наступает главный момент: с чем, как, где и зачем войти во взрослую жизнь.
И тут выясняется, что никакой системы по поводу того, что делать с талантами или что делать талантам дальше, нет. Когда начинаешь об этом говорить с демократически настроенными политиками, они легко отмахиваются от тебя фразой: "Талантливые, значит, в жизни не пропадут!". А то, что из-за этого может пропасть страна, их не очень волнует. Как описано в моей статье "А ларчик просто открывался" (PC Week/RE, N 35/2004, c. 56), общение с людьми других политических взглядов по этому вопросу также ни к чему не приводит, хотя на словах они все готовы поддерживать таланты.
Что в этой ситуации делать талантливым выпускникам? Получить какие-то прикладные знания и пойти в аутсорсинг? Но там их особенно не ждут: знания специфические, амбиции высокие, характеры, мягко говоря, непростые.
Пойти учиться в аспирантуру? Как выжить на стипендию?
Начать преподавать? Как выжить на преподавательскую зарплату?
Организовать программистскую фирму? Да, если имеешь не только ИТ-талант, но и способности к бизнесу, что вместе встречается крайне редко.
Уехать? Но куда?
В аспирантуру университета уровня Стэнфордского? Для этого обычно необходим научный задел, которого еще нет.
Пойти работать в Microsoft Research (см. статью Г. Стикса "Союз мудрейших" в "В мире науки", N 11/2004, c. 20-23)? Вряд ли возьмут. Для этого неплохо пройти следующий путь: призер командного студенческого чемпионата мира по программированию ACM ICPC, ЛГУ, аспирантура в Стэнфорде. Такой пример есть (Илья Миронов), но он даже для талантов трудно воспроизводим.
В лучшем случае возьмут в Microsoft, но без прекрасного слова Research, многое определяющего в образе жизни, главное - свободу творчества. Однако если даже в средних фирмах руководители говорят своим сотрудникам, вдохновляя их на подвиги, о том, что "программисты, как муравьи, создают громадные сооружения", то мне рассказывали, каким муравьишкой чувствует себя человек в огромной компании, в которой, несмотря на море людей, о чем-либо интеллектуальном даже и поговорить не с кем.
Поэтому у большинства талантов будущее из розового часто становится серым.
Почему практически ни у кого из программистов нет научного задела в своей сфере, в то время как он может быть у них в таких науках, как физика и математика? Это связано с тем, что физика и математика традиционно считаются наукой, а программирование - просто некоторым видом интеллектуальной деятельности, за которую, в отличие от физики и математики, хорошо платят.
Таким образом, можно утверждать, что сегодня нашему обществу ИТ-таланты не очень нужны. Это накладывает отпечаток на жизненную позицию молодых людей, не подготовленных к инновационной деятельности (под этим я понимаю не столько создание новых востребованных рынком продуктов, как это считается обычно, сколько крупные достижения в области технологии и теории программирования).
Все это приводит к тому, что даже на Западе лишь единицы наших добиваются в информационных технологиях существенных результатов. За последнее время я встречал в литературе только два российских имени - Александр Степанов из Hewlett-Packard, разработавший стандартную библиотеку шаблонов STL, и Юрий Гуревич из Microsoft Research, добившийся результатов в вопросе спецификации программ.
Крупных успехов в программировании достигают не только американцы. Так, финн Л. Торвальдс создал Linux, датчанин Б. Страуструп - язык С++, норвежцы У. И. Дал, Б. Мюрханг, К. Нюгорд - первый объектно-ориентированный язык программирования Симула 67, а швед И. Якобсон много сделал для языка моделирования UML. Крупные ИТ-успехи в Европе демонстрируют, естественно, не только скандинавы: Э. Дейкстра жил и работал Голландии, а Н. Вирт трудится в Швейцарии.
Ну хорошо, эти достижения в области программирования - скорее технологические. Может быть, у наших есть значительные успехи в области создания алгоритмов, которые относятся к одному из разделов математики? Посмотрите книгу Т. Кормена, Ч. Лейзерсона, Р. Ривеста "Алгоритмы. Построение и анализ" (М.: МЦНМО, 1999), содержащую 992 страницы. Как вы думаете, сколько там упоминается советских ученых? Как мне кажется, двое - Г.М. Адельсон-Вельский и Е.М. Ландис, предложившие свой алгоритм аж в 1962 г. Трехтомник Д. Кнута содержит значительно больше страниц, но российских фамилий там также раз-два и обчелся!
Конечно, есть еще, например, Валентин Турчин, создавший язык сентенциального программирования Рефал, но когда это было и где он сейчас...
Неужели наши ребята не способны создать что-то уровня, например, языков разметки (историю создания которых подробно описал С. Бобровский в PC Week/RE в прошлом году (www.computer-museum.ru/histsoft/ml_hist.htm), аспектно-ориентированного программирования, порождающего (генеративного) программирования или концепции паттернов?
Я уверен, что они в состоянии взять и не такие вершины, если в стране будет соответствующее отношение к науке и разработке новых технологий и кто-то вдохновит их и поведет на "покорение вершин". Им надо непрерывно говорить, что не боги горшки обжигают. Я, конечно, понимаю, что "раскрутить" в качестве всемирной технологии созданное ими весьма дорого и сложно, но придумать и опубликовать в России и за рубежом, если захотеть, - не очень большая проблема.
Научные достижения в информационных технологиях нашей молодежи наряду с успехами на чемпионатах мира по программированию должны стать визитной карточкой ИТ-отрасли России.
Президент В.В. Путин, встречаясь весной 2004 г. с победителями чемпионата мира по программированию, не говорил с ними об аутсорсинге (у него есть с кем это обсудить), а интересовался, останутся ли они работать в вузах, которые их воспитали. Ребята пообещали Президенту остаться, и наша обязанность сделать все, чтобы они не передумали. Тогда через некоторое время у нас, может быть, появятся такие легендарные личности, как, например, создатель языка Perl Лари Уолл (www.opensource-forum.ru/rprogram.php), на которого едут посмотреть (!) в Москву мои студенты.
И последнее. "Берите на работу только отличников,- сказал недавно Билл Гейтс, - так как другие приведут за собой сначала хорошистов, затем троечников, а в конце концов вы будете работать с двоечниками". Коммерческие успехи Гейтса свидетельствуют о том, что возиться с талантами бывает весьма выгодно - и выгодно материально.
А.А. Шалыто - докт. техн. наук, профессор, заведующий кафедрой "Технологии программирования" Санкт-Петербургского государственного университета информационных технологий, механики и оптики. shalyto@mail.ifmo.ru.