О журнале
Рекомендации
Проблемы и перспективы подготовки ИТ-специалистов в России
Unknown Author
В настоящее время профессиональные кадры в области информационных технологий являются одними из наиболее востребованных на рынке труда развитых стран, в том числе и в России. Система подготовки таких кадров развивается на протяжении последних 40–45 лет – так, в России, а точнее, в Советском Союзе, первые учебные курсы по программированию были прочитаны в университетах еще в первой половине 50-х годов прошлого века. За это время в западных странах подготовка профессиональных кадров в ИТ-области в значительной мере стабилизировалась. Однако в России, к сожалению, такая система до сих пор не может считаться хотя бы упорядоченной, не говоря уже о соответствии потребностям ИТ-индустрии по количеству и качеству подготавливаемых специалистов.
Характерным признаком неупорядоченности системы подготовки ИТ-кадров является несоответствие перечня специальностей, утвержденного Министерством образования Российской Федерации, реальным профессиям, которые существуют в индустрии информационных технологий. Хорошо известно, что к настоящему времени здесь сформировался достаточно устойчивый список наиболее распространенных специальностей:
- программист-разработчик (Software Design Engineer);
- разработчик аппаратуры (Hardware Design Engineer);
- специалист по разработке тестов (Test Design Engineer);
- специалист по тестированию (Tester);
- менеджер разработки (Program Manager);
- менеджер проектов (Project Manager);
- аналитик бизнес-процессов (Business Analyst);
- менеджер информационных систем (IT Manager).
В то же время сегодня в высшей школе России ведется обучение по таким ИТ-специальностям:
- 010200: прикладная математика;
- 010300: прикладные математика и физика;
- 071900: информационные системы (по областям применения);
- 220100: вычислительные машины, комплексы, системы и сети;
- 220200: автоматизированные системы обработки информации и управления;
- 220300: системы автоматизированного проектирования;
- 220400: программное обеспечение вычислительной техники и автоматизированных систем;
- 220500: конструирование и технология электронно-вычислительных средств; 220600: организация и технология защиты информации;
- 220700: комплексное обеспечение информационной безопасности автоматизированных систем;
- 510200: прикладная математика и информатика;
- 511200: математика, прикладная математика;
- 552800: информатика и вычислительная техника.
Сопоставление этих двух списков наглядно демонстрирует проблемы, существующие в системе подготовки кадров. Так, нельзя не отметить определенную нелогичность перечня специальностей в высшей школе России – например, прикладная математика в различных комбинациях присутствует там четыре раза. В то же время в этом перечне отсутствуют специальности, необходимые для подготовки профессионалов в области управления информационными технологиями, – например, менеджер информационных систем, аналитик бизнес-процессов или менеджер проектов.
Даже если говорить о подготовке ИТ-кадров в более узком смысле, т.е. о подготовке специалистов в области разработки программного обеспечения (программистов), то картина оказывается достаточно удручающей. В целом программирование включает в себя следующие основные направления:
- алгоритмы и структуры данных;
- языки программирования;
- архитектуры вычислительных систем;
- численные и символические вычисления;
- операционные системы;
- инженерия программного обеспечения;
- базы данных и информационный поиск;
- искусственный интеллект и робототехника;
- программные и пользовательские интерфейсы.
Программирование можно рассматривать как науку (Computer Science) и как инженерную дисциплину, ремесло (Software Engineering). Программирование как наука, безусловно, базируется на классических дисциплинах общей математики, среди которых наиболее важную роль играют алгебра и математическая логика. Оно также тесно связано со многими специальными математическими дисциплинами – например, с дискретной математикой, теорией управления, исследованием операций и т.п. Здесь характерно, с одной стороны, интенсивное взаимное проникновение идей, теорий и методов, а с другой – очень высокий темп обновления знаний, наблюдаемый не только в программировании, но и в связанных с ним специальных математических дисциплинах. По существу, программисту в течение всей его продуктивной жизни требуется постоянно изучать, осваивать и развивать новые методы, теории и идеи, появляющиеся как в новых направлениях математики, так и в программировании – науке.
Однако и программисты, специализирующиеся в разработке программного обеспечения, также должны обладать навыками к адаптации. Отсутствие таких навыков, а также возможность восприятия новых знаний только в упрощенной, чисто инженерной форме не позволяют эффективно работать в новых технологических областях. В программировании, как в инженерном искусстве, черпающем свои идеи и методы в программировании-науке, чрезвычайно велик темп обновления – не только в части использования новых технических и программных средств, но и особенно в новых применениях. Обновление здесь носит устойчивый революционный характер. Более того, новые технологии имеют возможность успешно развиваться во многом благодаря программированию.
Рассмотренные выше свойства предъявляют очень высокие и специфические требования к подготовке специалистов по программированию – как к исследователям, так и к разработчикам. Именно этим объясняется постоянная и интенсивная работа мирового программистского сообщества в области разработки новых методологий и курсов с целью поддержки и развития профессионального уровня, адекватного требованиям времени.
Следует отметить, что российская система образования имеет определенные преимущества, позволяющие говорить о возможности организации качественной подготовки программистов. В первую очередь это математические традиции ведущих университетов и фундаментальное базовое образование в средней школе. Кроме того, в советское время была создана (и продолжает функционировать до сих пор) в значительной мере уникальная система поиска и отбора одаренных детей через математические школы, кружки, олимпиады и т.д. В некоторых случаях это приводит к весьма впечатляющим результатам. Так, например, студенческая команда Санкт-Петербургского государственного университета два года подряд являлась победителем международной студенческой олимпиады по программированию – ACM International Collegiate Programming Contest, в которой принимают участие около 6 тыс. университетов из всех стран мира (к сожалению, в 2002 году Россия уступила первое место Китайской Народной Республике).
Однако эти положительные факты в значительной степени перекрываются тревожными и опасными для будущего экономики России тенденциями. Несмотря на внешнюю демократичность системы высшего образования в СССР, в реальности система подготовки кадров была построена (и продолжает оставаться такой же в современной России) с ориентацией на выпуск незначительного числа «элитных» квалифицированных кадров. По-прежнему существует (и продолжает увеличиваться) огромная дистанция в уровнях подготовки специалистов между несколькими ведущими университетами с высоким уровнем преподавания и основной массой высших учебных заведений. Отсутствие отдельной специальности «программирование» в перечне профессий, по которым ведется подготовка ИТ-кадров, зачастую является оправданием низкого уровня обучения – дисциплины программирования преподаются как сопутствующие курсы для многих специальностей.
Даже в «элитарных» университетах требования ACM/IEEE CS «Computing Curricula» до сих пор удовлетворяются не в полной мере. Как правило, подготовка по таким математическим дисциплинам, как дискретная математика, математическая логика, общая алгебра, статистика, является достаточно слабой, а именно эти предметы составляют математический фундамент программирования. Кроме того, наблюдается достаточно опасная тенденция подмены фундаментальных технологических курсов (базы данных, анализ программ, управление транзакциями и т.п.) «тренингами» по тем или иным программным продуктам, особенно в высших учебных заведениях «второго эшелона». В результате вместо понимания причин инженерных и технологических решений (и, соответственно, возможности самим принимать такие решения) студенты приобретают набор навыков, сводящийся зачастую не более чем к знанию пользовательского интерфейса распространенных программ.
В последние годы происходит старение и растет нехватка профессорско-преподавательского состава. Средний возраст преподавателей превышает критический уровень, в то же время молодежь не привлекает карьера преподавателя, что особенно заметно для специальностей, связанных с программированием – уровень оплаты программистов на рынке труда в 10 и более раз превышает уровень оплаты преподавательского состава в университетах. Кроме того, целое поколение наиболее работоспособного возраста ушло из науки и образования в бизнес. Сегодняшние лаборатории и кафедры состоят из профессоров предпенсионного (а часто и пенсионного) возраста и молодежи, окончившей университет пару лет назад. Учебный процесс в высших учебных заведениях держится на крепкой доцентуре. Однако именно ее сегодня нет, и некому становиться новыми профессорами.
В принципе уровень преподавания программирования в «элитарных» университетах за последние годы вырос, но даже в них учебные курсы охватывают не более 70-80% требований Computing Curricula’1991. Слабый уровень преподавания базовых математических дисциплин и недостаточная подготовка выпускников по важнейшим современным технологиям и продуктам приводит к тому, что ИТ-индустрия вынуждена развивать собственную систему переподготовки молодых специалистов, через которую проходят даже выпускники лучших высших учебных заведений.
Наконец, нужно отметить недостаточное количество выпускаемых специалистов. Высшая школа не обеспечивает потребность ИТ-индустрии в профессиональных кадрах в области информационных технологий и особенно в программистах. В течение последних лет в России отмечался достаточно стабильный рост рынка труда для программистов, достигавший в отдельные годы порядка 30–35 % в год. Одновременно с этим до самого недавнего времени количество выпускаемых специалистов уменьшалось. Всего около 250 (примерно 1/4 часть) российских высших учебных заведений готовят специалистов в области информационных технологий, при этом общее число студентов на таких специальностях не превышает 100 тыс.
человек (из более чем 3,5 млн. студентов, включая заочников, т.е. около 3% всех студентов).
В последние годы выпуск составляет менее 10 тыс. человек, с тенденцией к росту до 20–22 тыс. в год за счет увеличения приема на эти специальности, которое произошло 3–4 года назад. Чрезвычайно интересно количественное распределение по университетам студентов, проходящих обучение в области информационных технологий. На рисунке 1 приведено общее количество студентов всех годов обучения в 12 российских университетах, которые готовят наибольшее количество ИТ-кадров.
Рис. 1. Общее количество студентов, проходящих обучение в области информационных технологий.
Достаточно равномерная картина (где резко выделяется по своим показателям только Московский физико-технический институт) становится, однако, совсем другой, если просуммировать количество студентов по городам. Можно легко увидеть, что сколь-нибудь заметное число студентов учится только в Москве и Санкт-Петербурге, в то время как основная часть из 250 российских высших учебных заведений, готовящих специалистов в области информационных технологий, представляет на этом графике (рис. 2) длинный, но незначительный по своим количественным характеристикам хвост.
Рис. 2. Количество студентов, проходящих обучение в области информационных технологий, по городам.
Обозначив существующие проблемы в подготовке профессиональных ИТ-кадров в российской высшей школе, в заключение следует предложить некоторые очевидные практические меры для их (хотя бы частичного) решения.
Это, во-первых, отбор, перевод и распространение учебных курсов и методических пособий лучших зарубежных университетов, с максимально возможной унификацией учебных программ с зарубежными стандартами (в первую очередь с Computing Curricula’2001). Пересмотр и унификация специальностей, а также введение новых специальностей, отвечающих потребностям ИТ-индустрии (в первую очередь в области программирования и управления информационными технологиями).
Во-вторых, налаживание и широкое использование института приглашенных профессоров (visiting professors), включая как ведущих зарубежных ученых, так и российских. К сожалению, приглашению зарубежных ученых и преподавателей зачастую препятствуют не объективные причины, а завышенная самооценка многих, в том числе и столичных университетов. Необходимо налаживать обмен преподавателями с ведущими зарубежными университетами, поддерживать участие преподавателей высшей школы в работе международных конференций, международных комитетов по вопросам образования и стандартизации.
В-третьих, поддержка возможности обмена студентами и их обучения за рубежом. Оказание помощи студентам провинциальных высших учебных заведений, благодаря которой они могут завершить образование в лучших учебных заведениях страны, особенно на этапах магистратуры и аспирантуры.
И, наконец, в-четвертых, создание образцовых центров программирования и информационных технологий на базе нескольких лучших кафедр и факультетов. Такие центры должны определить высокие стандарты подготовки кадров. Естественно, их необходимо создавать при тех университетах, в которых существуют сильные математические школы и школы в области программирования (всего менее десятка российских университетов). Центры должны в первую очередь выполнять следующие задачи:
- разработку, экспериментальную проверку и распространение учебных курсов (лекций, семинаров, практикумов) и методических пособий;
- организацию переподготовки профессорско-преподавательского состава кафедр программирования и высших учебных заведений, в которых ведется обучение ИТ-специалистов;
- консалтинг в области новых информационных технологий для ИТ-индустрии, в первую очередь для малого бизнеса.
Очевидно, что создание таких центров потребует значительных инвестиций, однако именно эти инвестиции могут оказаться наиболее эффективными для подъема российской экономики на основе создания и выпуска продукции высоких технологий.
и развитие кадрового потенциала. Часть 2. Информационные технологии в высшей школе»
(выпуск 20), который издает московское представительство корпорации Microsoft
(рассылается бесплатно вместе с данным номером журнала).
Дополнительную информацию о технологиях и решениях Microsoft в сфере образования можно найти на веб-узле по адресу http://www.microsoft.com/rus/education/ (на русском языке).
© Информационное общество, 2003, вып. 3, сс. 63-66.