воскресенье, 16 декабря 2018 г.

[work.thoughts] Мимоходом про высшее профильное образование для программистов

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

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

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

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

Мне сложно судить о том, какой уровень профильного образования для программистов сейчас. Судя по тому, что я слышу про текущую ситуацию с системой высшего образования у нас в РБ, то не очень высокий. Но вот лет 25 назад этот уровень, как мне сейчас думается, был весьма высок. Возможно, это нам просто сильно повезло. Поскольку в связи с распадом СССР весьма толковые люди из различных КБ и бывших "почтовых ящиков", которые не хотели уходить из профессии, пытались преподавать. Поэтому зачастую предметы читали не профессиональные ВУЗ-овские преподаватели, а действующие разработчики с многолетним опытом за плечами.

Так вот о роли высшего образования вообще и профильного высшего образования в частности.

С точки зрения работодателя наличие высшего образования у соискателя означает то, что соискатель a) способен вписаться в рамки достаточно жесткой системы и b) способен обучаться в рамках этой самой системы. Т.е., говоря совсем просто: если у человека хватило мозгов закончить технический ВУЗ, то высоки шансы, что у него хватит мозгов для нормальной работе на производстве.

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

Но вот если говорить о полезности именно профильного высшего образования для программистов, то я могу сказать за себя: почему лично я рад тому, что мне повезло в свое время получить именно профильное образование (а у меня была специальность 22.04 "Программное обеспечение ВТ и АС", в дипломе значится профессия "инженер-программист").

Рад я тому, что во время учебы в ВУЗе у нас была уникальная конкурентно-дружеская атмосфера. Особенно на первых курсах универа.

Разные люди. Большинство живо интересуются программированием. Ну у каждого свои интересы, свои взгляды, свой собственный багаж знаний. Плюс тогда происходил, по тем временам, революционный переход с больших ЭВМ (вроде ЕС-ок и СМ-ок) к персональным компьютерам. От Фортрана к Паскалю, а затем и к С. С модным тогда увлечением Прологом. Учились новому тогда не только мы, но и наши преподаватели. Поэтому та самая уникальная среда включала в себя не только студентов, но и преподавателей.

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

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

Комментариев нет: