Архивы: по дате | по разделам | по авторам

Как вырастить армию хороших программистов и поднять объем экспорта ПО? Взгляд «от сохи»

Архив
автор : Сергей Науменко   02.02.2005

Люблю начинать с фактов. В Индии действует программа ITEX-50, согласно которой объем IT-экспорта к 2008 году должен достигнуть $50 млрд. Индусы последовательно идут к цели, предоставляя налоговые льготы, развивая исследовательские центры и коммуникационную инфраструктуру.

Люблю начинать с фактов.

В Индии действует программа ITEX-50, согласно которой объем IT-экспорта к 2008 году должен достигнуть $50 млрд. Индусы последовательно идут к цели, предоставляя налоговые льготы, развивая исследовательские центры и коммуникационную инфраструктуру.

По данным Федеральной службы госстатистики РФ, объем экспорта сырой нефти за период c января по август 2004 г. составил $30 818,5 млн. (29,2% от общего объема экспорта).

Министр связи и информационных ресурсов России Леонид Рейман 16 сентября 2004 года сообщил, что на данный исторический момент объем экспорта программного обеспечения составляет $500 млн., и спрогнозировал рост объема экспорта до $1 млрд. в 2005 г. и $2 млрд. в 2006 г. (Для сравнения, прогноз для Вьетнама на тот же срок — $1 млрд.) При этом министр остановился на мероприятиях, без которых не удастся достигнуть столь заманчивых цифр. «Основными направлениями концепции, — говорит Рейман, — являются: снижение административных барьеров, поддержка международной маркетинговой деятельности, разработка стандартов качества, поддержка высшего образования и фундаментальных исследований, создание технопарков и наукоградов». (Совершенно естественно сравнить концепцию министра связи и информационных ресурсов с концепцией развития сферы образования министра образования и науки. Воистину, не знает правая рука, что делает левая.)

Обратимся только к одной из составляющих заявленной министром связи РФ концепции, а именно к образовательной.

Казалось бы, все сегодня выпускают программистов. Тем не менее, даже поверхностное изучение рынка спроса показывает острую нехватку квалифицированных специалистов. Вузовский диплом стремительно девальвируется. Более того, самые квалифицированные преподаватели бьют тревогу, не уставая твердить об исчезновении качественного IT-образования в России; см. ставшую классической статью Анатолия Шалыто, доктора технических наук, профессора, заведующего кафедрой «Технологии программирования» Санкт-Петербургского университета ИТМО «А ларчик просто открывался...»( PC Week/Re. № 35/2004, с.56, 59 (www.silicontaiga.ru/home.asp?artId=2761)). Ларчик действительно открывается просто: достаточно привести размер зарплат преподавателей. Гораздо более загадочным является тот факт, что многие руководители софтверных фирм не хотят помочь образовательному процессу. Безусловно, не все. Немало крупных фирм имеют собственные учебные центры, так как кандидаты, приходящие на собеседование (вчерашние или сегодняшние студенты), недостаточно подкованы, и даже лучшие из них нуждаются в дополнительном обучении, прежде чем смогут участвовать в серьезном проекте наравне со штатными сотрудниками.

Как же быть? Что нужно сделать, чтобы по объему экспорта программного обеспечения Россию можно было сравнивать не с Вьетнамом, а с Индией? В простейшем приближении объем экспорта зависит от количества программистов и их квалификации (экономические, маркетинговые и другие вопросы оставим специалистам). $50 млрд. в год — это огромная цифра, огромный сектор экономики. Естественно, для его освоения нужна организация, нужны менеджеры, нужны законы, но самое главное, нужна огромная армия программистов. Как увеличить количество хороших специалистов?

Ответ чрезвычайно прост: учить их много, и учить хорошо. Все та же Индия выпускает 25 тысяч программистов в год, столько, сколько и США.

Кого учить?

Учить нужно тех, кого привлекает труд программиста, кто обладает необходимыми навыками работы с компьютером и зачатками программистских качеств: стремлением разобраться в проблеме до конца, усидчивостью, необходимым уровнем интеллекта, стремлением создавать сложные системы и постоянно изучать новое.

Учить нужно тех, кто работает программистом, не имея соответствующего образования, и желает качественно повысить уровень своего профессионализма и зарплаты.

Оплата контрактного обучения на ВМиК МГУ в этом году составляет порядка 100 тысяч рублей в год. Студенты готовы идти на риск, учиться в кредит, чтобы через пять лет получить работу и отдавать кредит с зарплаты.

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

Одним словом, желающих стать программистом сегодня более чем достаточно.

Кому учить?

Сегодняшний студент-программист зачастую относится к преподавателю и преподаванию программирования снисходительно. В одних случаях это связано с уровнем зарплаты (но тогда остается хотя бы уважение к авторитету знающего преподавателя и его альтруизму), в других — с уровнем преподавания и с тем, что преподаватель оторван от практики программирования. Разумеется, чтобы студент уважительно относился к преподавателю, необходимо уважительное отношение к этому субъекту и государства, а также необходим соответствующий уровень знаний и динамика роста знаний преподавателя, что тоже невозможно без достойного уровня зарплаты. Преподаватель, подрабатывающий еще в трех местах, физически не может быть на гребне индустрии, а в IT-области это особенно важно. Специалист, на полгода оторванный от IT- области, уже не специалист.

Огромное количество хороших молодых IT-специалистов, имеющих опыт работы, с удовольствием занялись бы преподаванием, передачей опыта и научными исследованиями в программировании сегодня же, при наличии соизмеримой зарплаты, уже не говоря об эквивалентной. Это не теоретическое предположение, а «взгляд изнутри». Причина в том, что не все программисты склонны к усидчивости, к кропотливой работе в жестких рамках коммерческих проектов. Многим по душе изучение нового, исследования, преподавательская деятельность. Отсюда годами накапливающаяся усталость, внутреннее недовольство своей работой и стремление преподавать в родном вузе по субботам.

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

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

Сколько учить?

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

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

Конечно, многие специалисты должны обучаться по «полной программе», пять лет. Это аналитики, проектировщики, менеджеры проектов, преподаватели программирования, team-лидеры и др.

Чему учить?

«Программирование — вещь сугубо практическая, сродни игре на балалайке» (фраза некоего преподавателя программирования). Обучение программиста должно быть направлено к своей конечной цели — участию в реальном проекте. Самым важным в процессе обучения является не прослушивание лекций (многим проще и быстрее читать книги), а решение задач и участие в учебных проектах. Примерный набор дисциплин приведен ниже — это базовый набор специальных дисциплин любого хорошего факультета компьютерных наук, относящихся к практике программирования. Более точный набор дисциплин можно получить, проведя анализ требований программистских компаний:

  • программирование и алгоритмические языки (2 семестра) — развитие алгоритмического мышления, решение задач, участие в олимпиадах и других подобных соревнованиях (С/C++);
  • объектно-ориентированное программирование (2 семестра) — основные концепции, разбор примеров хороших архитектур, самостоятельное проектирование, шаблоны проектирования;
  • базы данных (2 семестра);
  • методология разработки — организация процесса разработки, реальные документы, роли в проекте, обязанности, инструменты совместной работы, анализа требований и пр. (Rational Unified Process, eXtreme programming, etc.);
  • разработка веб-сайтов;
  • организация офшорного проекта;
  • методология тестирования, контроль качества;
  • операционные системы и системное программирование;
  • высшая математика;
  • дискретная математика;
  • компьютерная графика;
  • защита информации;
  • специальная дисциплина (3 семестра) — конкретный язык программирования, среда, конкретная связка (набор, состоящий из конкретной базы данных, среды разработки, языка программирования, сервера приложений).

    Примеры специализаций:

  • Java-программист (Java 2, J2EE, web-development, Oracle, MSSQL, Unix);
  • .NET-программист;
  • разработчик GUI Win-приложений;
  • Linux-разработчик;
  • web-developer (PHP, web-mastering, MySQL, Perl, Unix, etc.).

    1. Английский язык (3–4 семестра).
    2. Учебный проект №1 (1 семестр) — самостоятельная разработка настольного приложения в выбранной специализации.
    3. Учебный проект №2 (1 семестр) — работа в небольшой команде (2–3 человека), проект, приближенный к реальному (многозвенное приложение — например, необходимое для обеспечения учебного процесса: электронный курс, система тестов, база данных студентов, сайт деканата и т. д.).
    4. Учебный проект №3 (2 семестра) — проект в небольшой команде из 5–7 человек, достаточно сложная и трудоемкая система (какой-то модуль распределенной системы вуза, распределенная система автоматизации работы небольшой фирмы, небольшого вуза, деканата и т. д.; возможно, тестовая задача от фирмы).

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

    По поводу иностранного языка существует следующее известное соображение : язык — это не груда кирпичей, которую можно перетаскать за любое время, а скользкая ледяная горка, на которую нужно взбежать. Поэтому язык можно выучить за два года в совершенстве и вовсе не выучить за 10–12 лет. Следует применять интенсивные методики освоения языка для конкретных целей — чтения документации, переписки с заказчиком, формулирования и понимания требований.

    Как оценивать?

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

    Как учить?

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

    Студенту, поступившему в высшую IT-школу, предоставляется отсрочка от армии не только на срок обучения, но и, в случае успешного выпуска и устройства на работу по специальности, до достижения соответствующего возраста, исключающего призыв. Студент, не желающий учиться, будет замечен сразу же: он не сделает первый же учебный проект в течение полугода, не решит положенного количества задач, не сдаст первых же тестов по языку. Таких студентов школа немедленно отчисляет.

    Обучение по схеме «слушаем лекции, дома программируем», недопустимо. В высшей IT-школе студенты разбиты по группам численностью максимум 10–15 человек. Студенты одной группы находятся в одном помещении, занимаются одной специализацией, выполняют совместные проекты. Именно в небольших группах, учащихся и работающих вместе над освоением нового целый день и каждый день, рождается профессионализм. Преподаватель находится тут же, в компьютерном классе, если не читает лекций, программирует и помогает своим подопечным.

    Обучение в школе интенсивно, по длительности приближено или равно рабочему дню. Большая часть дня отводится реальному программированию.

    Наиболее талантливым и подготовленным выпускникам предоставляется возможность продолжить образование, стать преподавателями, менеджерами проектов и т. д.

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

    Во многих территориальных областях преподаватели делают одинаковые курсы (преследующие одну цель). Например, обучение программированию на Java. Проводится конкурс курсов и награждение победивших преподавателей, рекомендация элементов их курсов для использования. Динамический курс нельзя сделать «классическим» — курс слишком быстро обновляется. Поэтому конкурс проводится по динамическим веб-ресурсам курсов.

    Высшая IT-школа обладает механизмом обратной связи с программистскими фирмами. С годами, за счет выпускников, количество таких связей растет. Обратная связь помогает корректировать учебные курсы, проводить аттестацию преподавателей, обновлять темы учебных проектов, наборы тестовых заданий.

    Идея высшей IT-школы висит в воздухе, существует реальный опыт создания подобных подразделений: это факультеты второго образования вузов, это колледж МГУ «Высшая компьютерная школа», центр компьютерного обучения и сертификации «Специалист» при МГТУ им. Баумана, учебные центры при программистских фирмах.

    Проведем грубый расчет расходов на организацию армии программистов. Предположим, необходимо 50 тысяч программистов в год в течение ближайших десяти лет. Чтобы одновременно учить 50 тысяч программистов, нужно около 5 тысяч преподавателей программирования.

    Преподавателей учить не нужно — они у нас есть. Достаточно только заплатить им зарплату порядка $1000 в месяц, чтобы они перешли от программирования к преподаванию. В год это составит $60 млн. . Можно так спланировать «курс молодого бойца» для программиста, чтобы он занимал два года. Тогда затраты на зарплату преподавателям составят около $120 млн. за два года. На компьютеры для преподавателей и студентов уйдет $55 млн. В помещениях недостатка нет: можно использовать помещения вузов, вычислительных центров, академических институтов, техникумов.

    Студентам нужно платить стипендию, пусть это будет $100 в месяц. За два года обучения это составит $120 млн. Основные затраты учтены, если сложить и округлить, то получится сумма порядка $300 млн. Итого: 50 тысяч студентов + 5 тысяч преподавателей + $300 млн. = 50 тысяч программистов через два года. С рентабельностью здесь не поспоришь — прибыли исчисляются в миллиардах и десятках миллиардов.

    При всей фантастичности данного расчета, идею он демонстрирует, а детали оставим специалистам.

    Все, что я здесь написал, не откровение. Многие программисты думают так же. Это не взгляд политика, чиновника министерства образования и т. д. Это взгляд рядового программиста. Все это пишется в форумах программистов, все это болит в душах. Есть кого учить, есть кому учить, есть стратегическая цель. Все есть — нужна только лента конвейера в государственном масштабе. Отдачу можно получить очень быстро — не через десятилетия, а через год-два, если наладить сегодня конвейер массового производства программистов. Спорить можно о деталях, о цифрах, но не об идее.

    Что касается Украины, то вcё, что здесь написано, в равной, а возможно, и большей степени (нефти-то нет) к ней относится, различия только в цифрах. Подтверждением этому могут служить тезисы доклада годичной давности Виктора Спиридонова (Украинская ассоциация производителей программного обеспечения) «Как создать в Украине настоящую индустрию производства ПО» (www.uaswd.org.ua/ru/analytics/177.html).

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

    P.S. Вопрос, положенный в заглавие статьи, возник в ходе работы школы для молодых исследователей в институте прикладной математики им. Келдыша, после обсуждения одного из докладов.

    P.P.S. Уже закончив статью, я увидел текст Ивана Ярцева «Силиконовая долина в пойме Волги» о строительстве Российского центра программирования в Дубне. Предполагается построить в Дубне отдельное поселение площадью до 500 га, сконцентрировать там в течение 8–10 лет до 10 тысяч программистов, на что предполагается затратить $470 млн. до 2012 г. Замечательно, что будет построено жилье для программистов. Совершенно правильно, что программистам естественно расти, обучаться и работать в наукоградах. Только со строительства жилья ли вообще нужно начинать? И не маловато ли 10 тысяч программистов за восемь лет? Не будет ли поздно в 2012 году, да и поедем ли мы в Дубну? Ведь мы нужны в Германии, Америке, Англии…

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

    Резюме: учить надо программистов, господа, учить много программистов, качественно, интенсивно и целенаправленно. 

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

    1Действительно ли в России мало (недостаточно) хороших программистов?

    2 Почему у нас такой низкий (а с этим спорить трудно) экспорт ПО?

    3 Насколько уровень высшего образования в области ИТ влияет на квалификацию программиста, если эта профессия предполагает постоянное самообразование?

    4 Что нужно сделать, чтобы профессия программиста была престижной, высокооплачиваемой и востребованной (сейчас — за исключением отдельных специализаций — это не так).

    5 Что должно сделать государство для IT? И должно ли?

    Владимир Гуриев

    Дмитрий Скляров, Elcomsoft (www.elcomsoft.com)

    1 Чтобы объем экспорта ПО достиг уровня Индии — наверное, мало. Но если программистов будет в десять раз больше, это еще не значит, что экспорт возрастет в десять раз. Более вероятно, что шесть из семи программистов будут торговать а не кодировать.

    2 Между прочим, ПО делают не программисты. Западная индустрия ПО — это именно индустрия, а не профсоюз программистов. Кроме собственно кодирования (которое выполняют программисты) продукт проходит множество других этапов, и в команде разработчиков у программистов далеко не самые высокие зарплаты.

    А у нас индустрии производства программных продуктов практически не существует, и чтобы она появилась, нужно готовить специалистов для всех этапов, а не только кодеров.

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

    Кстати, в период «интернетного бума» выпускник среднего колледжа приходил в хайтек-компанию в Кремниевой Долине и получал такую же (высокую) стартовую зарплату, что и выпускник хорошего университета. И уровень образования не играл большой роли, если человек знал Visual Basic. Но после кризиса у программиста с хорошим образованием гораздо больше шансов получить (или не потерять) работу по сравнению с малообразованным.

    4 Самый очевидный способ — значительно уменьшить число программистов. Правда, при этом продажи ПО вряд ли станут расти.
    5 На этот вопрос я не берусь ответить. Почему-то подсознательно кажется, что если государство станет регулировать рынок IT в своих интересах, это будет против интересов тех, кто сейчас занимается IT…

    Антон Чижов, ParallelGraphics (www.parallelgraphics.com)

    1 Некоторый недостаток квалифицированных кадров есть. Но это следствие малой мобильности кадров, а не их отсутствия. А неквалифицированные кадры, как только в них возникнет потребность, появятся в достаточном количестве. С одной стороны, не так много времени надо на их подготовку, и учебные центры наверняка справятся. С другой — вряд ли российское офшорное программирование (в широком смысле, не только чисто заказное, но и технологическое и продуктовое) пойдет по индийскому пути. Мы слишком дороги. Поэтому требуются именно квалифицированные кадры.

    2 В первую очередь две проблемы: отсутствие управленцев, которые могут работать в этом бизнесе, имеющие опыт работы с Западом, и отсутствие маркетинговых структур там. Можно придумать интересные продукты, но оказывается, что они не нужны, так как были неправильно позиционированы. Можно иметь хорошие команды, но кто будет заказы искать? Кто продавать? Организация структуры там — самая существенная проблема с многих точек зрения: кто будет продавать, что (это должно быть определено там, а не тут, точнее — совместно), кому? И на все это нужны деньги, которых у российских компаний в таком количестве, как правило, нет.

    5 Я сомневаюсь. Как в том, что государство может предложить реальные механизмы для развития IT вообще, так и в том, что сумеет правильно использовать наукограды. Проблема налогов — одна из многих, не более. Остальные проблемы пока не решаются.

    Давид Ян, ABBYY (www.abbyy.ru)

    1 С одной стороны, мало программистов, которых мы хотели бы взять в СВОЮ команду, так как мы в ABBYY предъявляем повышенные требования к инженерам. С другой — ответственно заявляю, что в России хороших программистов на рынке труда в несколько раз больше, чем в США.

    Проблема не только в КОЛИЧЕСТВЕ хороших программистов, но и в том, как их интегрировать в мировой процесс разработки ПО.

    Проблема №1. Язык. В России катастрофически низкий уровень знания английского языка.

    Проблема №2.. Управляемость рядовых инженеров. В России учат быть гениями. Но не учат быть просто профессиональными работниками.

    Проблема №3. Средний менеджмент. В России есть проблема бизнеса в целом: острая нехватка среднего менеджмента. Качественных управленцев, руководящих группами от 15 до 50 человек.

    Проблема №4. Продавцы. Как говорил Джим Салливан: «Если вы не умеете продать свой прекрасный товар, то вы останетесь его единственным владельцем». В России не учат продавать. И тем более не учат продавать ПО.

    Что бы я добавил к предложениям автора статьи.

    I Активную специализацию на средних и старших курсах вузов и в старших классах школы ребят на инженеров, менеджеров, проектировщиков, продавцов и специалистов по маркетингу (с активным изучением специальных предметов, с активным использованием деловых игр, с прохождением практики за рубежом и в России по данной специальности).

    II Кардинальное изменение подхода к изучению английского языка. Английский надо внедрять с самых младших классов. Любыми методами увеличить обмен школьниками и студентами, чтобы учить язык в соответствующей стране.

    III ПРАКТИКА-ПРАКТИКА-ПРАКТИКА! На последних двух курсах надо создать условия, когда студенты реально работают на фирмах (это проверенная практика базовых институтов в МФТИ, которая даже получила название «система Физтеха»). Так они, во-первых, с большой вероятностью уже найдут работу к окончанию вуза; во-вторых, закрепят все, что изучали на практике. Причем государство должно лучших ребят посылать на практику в США и другие страны. Да, часть останется там, но большая часть вернется, и цены им не будет! А те, которые останутся, через какое-то время тоже начнут возвращаться или, по крайней мере, станут форпостом в деле выхода российских технологий за рубеж.

    5 Что может сделать государство и должно ли. Да, должно:

  • всячески стимулировать изучение английского (это камень преткновения не только в области ПО, но и вообще в процессе мировой интеграции России);
  • финансировать программы международного обмена студентами и школьниками;
  • изменить структуру обучения (пп. I и III выше);
  • построить технопарки и наукограды: ДА-ДА-ДА! Вместе с реализацией вышеперечисленных пунктов эти технопарки будут действительно востребованы.

    Михаил Донской, DISCo Company (www.disco.ru)

    1 Понятия «профессия программиста», строго говоря, не существует — как и «профессии строителя». Когда говорили о лучших в мире русских программистах, говорили не о кодировщиках, а об архитекторах и системщиках. Сегодня эти «породы» идут на убыль, поскольку в силу ряда причин разрушена преемственность советской школы программирования. Лидеры оторваны от молодежи. Преподавать им не имеет смысла, как в силу материальных причин, так и в силу невыносимости общения с руководством вузов. Это просто непересекающиеся траектории. А молодежь — там, в вузах, и учат ее кодированию, а не системному подходу и другим важным в программировании вещам. Пока хорошие программисты есть — кому-то посчастливилось попасть в фирмы, где работают такие люди (они еще не все вымерли). Но производная — ужасная.

    2 А кто подсчитал наш экспорт ПО, если брать в расчет не только продукты, но и услуги? Кто из маленьких программистских фирм, имеющих хорошего западного заказчика, заинтересован давать о себе информацию? С тем же успехом можно подсчитать грибников в лесу. По моим впечатлениям (вполне возможно, что ошибочным), 90% экспорта ПО проходит мимо официальных источников. Кроме того, что такое «экспорт ПО»?

    Если оказывать услуги иностранной фирме, которая ведет бизнес в России, это — экспорт? А сколько российских фирм имеют зарубежную регистрацию? Кстати, им тоже ни к чему официальная статистика. В отличие от нефти и стали, вывоз ПО можно делать по Интернету так, что никто и не заметит. А там считайте, кого успеете.

    3 Образование — это прежде всего УЧИТЕЛЬ. Поэтому преподавать программирование следует в десяти-пятнадцати вузах максимум. В остальных — пользование компьютером и, если очень надо, кодирование. Уровень образования можно обеспечить только уровнем преподавателей, а их и на пятнадцать вузов не хватит. Возможность самообразования зиждется на понимании фундаментальных вещей, о которых большинство преподавателей не слышали. Могу приводить конкретные примеры, но это обидит многих. Что характерно, все попытки сильных программистов «проникнуть» в вузы, кончались ничем. А. С. Кронрода не допустили до студентов, А. М. Адельсон-Вельского — уволили из МГУ, А. Л. Брудно преподавал только в школе (ныне ЛИТ), В. Л. Арлазаров преподает в Физтехе только в виде базы (то есть читает лекции десяти счастливчикам), меня попросили из МИРЭА товарищи преподаватели. Не помню, чтобы кто-то из ИПМ, кроме М. Р. Шуры-Буры, преподавал. А. П. Ершов был тоже только школьным учителем. Ряд можно продолжать. Если сюда добавить тех, кто эмигрировал, то разговоры о лучших в мире программистах нужно прекратить.

    Сергей Андреев, ABBYY (www.abbyy.ru)

    2 Вот забавно. В вопросе написано: «с этим трудно спорить», а я поспорю. По сравнению с чем у нас низкий экспорт ПО? Видимо, речь идет о набившей оскомину Индии и еще Вьетнаме с Китаем? А почему мы равняемся на эти страны? Почему не удивляемся, что Китай производит больше всех в мире ширпотреба? Почему не ставим задачу сравняться с Китаем по производству одежды и обуви? Почему НИКТО в мире не ставит себе такую задачу? Потому что у каждой страны и каждой экономики есть свои преимущества, и для того, чтобы быть успешным, надо эти преимущества использовать, а не соревноваться по всем параметрам с самыми лучшими игроками в своих нишах. Ниша Индии — производство несложных программных продуктов силами большого количества дешевых разработчиков средней квалификации. НЕ НАДО с ними конкурировать в этой нише! Надо в своей нише добиваться успеха. А ниша российских разработчиков — это разработка сложных наукоемких технологий, это ниша исследовательских проектов. Она гораздо меньше по валовому объему задач и продуктов, но она и гораздо лучше оплачивается.

    3 Сильнейшей стороной российской системы образования, которая все еще работает и удерживает высокую планку качества, — это обучение людей думать. Американское образование сообщает людям набор фактов, знаний, но не слишком старается развить в них способность мыслить. Поэтому сегодня из наших вузов выходят прекрасные полуфабрикаты, которые после дополнительного обучения внутри современной компании становятся полноценными инженерами и могут решать очень сложные задачи. А вот упрощенная система образования сообщит людям знания по C++, но думать их не научит. Сила классического высшего образования не только в знаниях, получаемых на занятиях по матанализу и теорфизу. Классическое высшее образование дает универсальную платформу и учит человека работать. Не поработаешь — не запомнишь огромный объем информации. Если упростить образование (как предлагается в статье), мы получим узкого специалиста с поверхностными знаниями, которому можно поручить лишь простейшие задачи. И выше он не прыгнет. Ему будет трудно двинуться в сторону управления (жизненного опыта и кругозора будет не хватать). Он никогда не будет решать наукоемких задач. Мы его на работу не возьмем. Его возьмут на работу индийские компании. Да вот беда: в Москве уровень жизни выше, чем в Индии, и зарплатные ожидания у людей тоже выше. Поэтому такому «упрощенному» специалисту будет трудно найти место — поскольку индийские коллеги будут давить российский бизнес, сидящий в их малоквалифицированной нише. Если российское классическое высшее образование дополнить современной техникой и квалифицированными преподавателями, это будет хорошим решением сегодняшних запросов экономики. А упрощать образование — это тупик.

    Феликс Мучник, «Софткей» (www.softkey.ru)

    Хотя приводимые расчеты, мягко говоря, хромают, но тема, поднятая в статье, в принципе правильная.

    Увеличивать количество обученных программистов, поднимать зарплаты преподавателей, сокращать сроки обучения и т. д. — с этими тезисами даже спорить не хочется.

    Вопрос увеличения экспорта ПО состоит совершенно в другом — ну выучим армию программистов, и дальше что? Кто найдет им заказы, кто будет писать документацию, кто будет осуществлять внедрение, кто будет заниматься рекламой и маркетингом на этом рынке, кто будет, в конце концов, управлять всем этим процессом? Нужна инфраструктура рынка — компании, кадры. Программистов и программ в нашей стране и на сегодняшний день достаточно много — продукции готовой мало, к сожалению. Как член правления ISDEF (www.isdef.org) и директор компании «Софткей», я знаком с несколькими тысячами таких программистов. Их главная беда — наличие готовых программ, которые не являются продуктом в правильном понимании этого слова. Вторая беда — сложности с экспортом уже готовой продукции, об этом тоже говорили Путин и Рейман. В результате компании (за редким исключением) вынуждены отдавать продукты на паблишинг локальным партнерам за рубежом, на электронное распространение — зарубежным регистраторам. И тут возникает третий вопрос: а почему бы государству не помочь с инвестициями в создание инфраструктуры за рубежом для российских компаний? Индийский путь — всего лишь один из путей; был еще израильский путь, когда компаниям помогали создавать представительства в США и Европе, таким образом выводя продукты на более емкий рынок.

  • © ООО "Компьютерра-Онлайн", 1997-2022
    При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.