Современное образование для программистов
В прошлом году я получил диплом о высшем образовании, специальность «Инженер-программист». Все 5 лет моего обучения были крайне интересными, немало кода было написано и ни один баг был выпит. Но… В моем маленьком городе разработчики не нужны, в основном нужны лишь сис админы, поэтому получив предложение о работе в другом конце страны я, особо не размышляя, согласился.
Это была прелюдия, все что следует дальше является сугубо моим мнением, правда, судя по словам моих более опытных коллег, у них аналогичное мнение.
Все 5 лет нам преподавали огромное количество математических дисциплин, начиная от Алгебры и заканчивая Уравнениями мат.физики и ТФКП. Практически по каждому из этих предметов мы писали какие-то программы (элементарный метод итерации, более сложные итеративные методы решения разных уравнений). Да, все это было, безусловно, полезным, но… Сейчас я занимаюсь реальной разработкой и фактически все вышеупомянутые навыки мне не нужны. Да, у нас были и Сети и Технологии разработки ПО и много чего другого, но количество учебных часов для этих дисциплин было настолько мизерным, а иногда и просто преподавание было не компетентным (чему может научить преподаватель, который за свою жизнь не написал ни одной программы, студентов-программистов?), что толку от них вообще очень мало.
Помимо математики, у нас была целая кучка гуманитарных дисциплин (Экологии, Экономики и т.д.), которые, конечно, вносят некоторый вклад в развитие, но зачем программисту с профессиональной точки зрения знать «как озоновые дыры влияют на климат»? Видимо предполагается, что мы будем писать «экологичные» программы — бред сивой кобылы.
Ладно, выше я рассказал как проходило наше образование. Теперь немного о Болонской системе, на которую переводятперевели наши ВУЗы.
Если у нас на 1-2 курсах было две проф.дисциплины — ПЯВУ (Программирование на языке высокого уровня) и ООП (Объектно-ориентированное программирование), то у бакалавров эти две дисциплины «схлопнули» в одну и теперь ООП, как самостоятельной дисциплины просто нет, однако количество гуманитарных дисциплин ни на толику не уменьшили. Получается, лет через 5, когда эта Болонская система вступит в наше образование окончательно и бесповоротно, новые программисты будут Экономику знать лучше, чем «как написать хороший код»!
Вновь вернусь к себе. Приняв предложение о работе в другом конце страны, я даже не подозревал сколько материала мне придется прочесть, изучить, чтобы более-менее нормально работать (объективно, спасибо огромное коллегам за помощь)!
Читая, Интервью с Джеффри Рихтером на конференции Microsoft SWIT 2014, конкретно нижеследующий участок, я понял, что очень скоро технические ВУЗы будут просто «фейком», который будет приносить только синююкрасную корочку:
Как думаешь, сможет ли самообразование полностью заменить университеты?
Это зависит от человека. Не каждому подходит такой метод обучения: для одного самообразование может стать альтернативой университету, а для другого — просто дополнительным каналом получения знаний.
В последний день моего пребывания в родном городе, мне пришла целая горка профессиональной литературы, заказанной с огромной скидкой еще в январе. Пока ехал, читал одну из этих книжек: Роберт Гласс — «Программирование и конфликты 2.0», в которой автор говорит более корректными словами тоже, что написал я выше, т.е. такая проблема есть не только в нашем образовании, но и за рубежом. Если кратко перефразировать на простой язык, адаптировав это под отечественное ухо, то Гласс делает примерно следующие выводы: приходишь из школы в институт, тебе говорят: «Забудь все то, чему тебя учили в школе»; приходишь из института на работу, тебе говорят: «Забудь все то, чему тебя учили в институте».
Читая в свободное время статьи на Хабре, бывает натыкаюсь на статьи из разряда: «Современные junior-программисты ни черта не умеют» (буквально недели 3-4 назад читал подобную о Java, уже сейчас не найду ее). А что вы хотите, если в наших технических ВУЗах минимум 50% учебного времени тратится на изучение вещей, которые либо никогда не пригодятся, либо неактуальны уже лет 10 минимум?
Я сам довольно часто изучал и изучаю техническую литературу, посвященную практике программирования, занимаюсь самообразованием, неплохо знаю английский (читаю SO и прочее), реализовывал различные системные вещи (драйвера, в частности), но теперь не могу похвастать, что знаю C# «от и до».
Кто что думает по поводу сложившейся сейчас системы образования для программистов? Кто как получал профессиональный опыт?
P.S. Спасибо за внимание и потраченное время.
Автор: Mixim333