Конечно же не могу говорить за все ВУЗы России и международные - только за те, с которыми сталкивался. Т.к. живу в Санкт-Петербурге, то могу судить только о местных учебных заведениях, а именно:
СПбГУ, ИТМО, СПбГЭТУ «ЛЭТИ», ГУАП, Политех, СПбГМТУ, БГТУ (Военмех)
Я общался с преподавателями, студентами и выпускниками этих ВУЗов, читал программы, решал домашние задания. Подозреваю, что выборка достаточна для того, чтобы судить об общем состоянии системы обучения программированию в РФ. Исключения из правил само собой возможны. В итоге мой вывод такой:
Что ВУЗ сможет вам дать
В ВУЗе вас научат некоторым базовым алгоритмам, вас научат придумывать алгоритмы (в какой-то степени), вы узнаете основы нескольких языков программирования (синтаксис и основные конструкции), расскажут об ООП. Вам покажут некоторые базовые технологии - TCP/IP, HTTP, SQL, покажут основы администрирования систем. Вам расскажут о некоторых областях знаний - базы данных, криптография, безопасность (может быть) и на этом скорее всего все закончится.
Что ВУЗ вам не даст
Вам не покажут большинство современных технологий и инструментов. Вам не расскажут, как на основе этих инструментов/компонентов строить хоть какие-то более-менее рабочие системы. Вы не узнаете, как надо работать в команде над проектом, который имеет какие-то сроки выполнения, технические требования, аналитику.
К сожалению, в ВУЗах редко (практически их нет) встречаются преподаватели с опытом реальной работы - все они когда-то закончили этот же ВУЗ и остались в нем преподавать. Т.к. опыта работы у них нет, они все знания берут из учебников, лекций, форумов, но в подавляющем большинстве случаев в крупных (и не очень) проектах не участвуют. Результат соответствующий. Это не значит, что они плохие преподаватели, небрежно относятся к своей профессии (хотя и такие тоже не редкость) или их знания какие-то неправильные. Тот же ИТМО регулярно выигрывает какие-то олимпиады по программированию. Правда основная направленность таких олимпиад - алгоритмы. Иногда очень крутые и сложные с математической точки зрения. Но этого, увы, недостаточно в современном мире разработки программ. Причем весьма сильно и весьма часто недостаточно. Хотя есть ситуации, когда алгоритмы являются важным фактором - такое тоже бывает, но редко.
Куда же пойти учится
В итоге мое предложение такое - идите в любой ВУЗ, который даст вам образование программиста, но не надейтесь, что только с этими знаниями вы сможете легко найти работу. Наплюйте на "престижность" - это все выдумки ленивых специалистов по кадрам. Они часто достаточно плохо себе представляют технологии программирования. Самое лучшее - чтобы учеба оставляла вам свободное время для самостоятельного развития и возможности устроится работать. В основном вам придется учится самому - проявляйте любопытство, придумывайте себе задачи, спрашивайте на форумах - там нередко можно получить гораздо более широкий набор знаний и список источников информации. Обязательно учите английский язык.
Еще лучше - зацепиться хоть за какое-то реальное место работы на 2-3 курсе (пусть даже за минимальную зарплату или даже без зарплаты - если вы можете себе такое позволить).
Еще раз повторюсь - в основном вам придется учиться самому. Увы, на сегодня это самый эффективный способ - слишком мало востребованных знаний дается в ВУЗе.
Устройство на работу
Также не думайте, что в компанию, которая разрабатывает программное обеспечение сильно смотрят на то, что вы закончили. Вас все равно будут проверять - будь у вас хоть 20 лет практики за плечами. Собеседование проводится для всех без исключения и смотрят исключительно на знания и умения. У меня несколько сертификатов и по нынешним меркам огромный опыт - каждый раз я прохожу собеседование, на котором пишу тесты, решаю задачи, рассказываю о технологиях и инструментах. И не каждая фирма предлагает мне после этого работу.
Ищите "свой" проект
Когда вы ищите работу программиста или выбираете ВУЗ - обращайте внимание на то, для чего вы будете/хотите писать программы. Ведь вы по сути создаете инструмент для предметной области и набор знаний и инструментов будет крайне важен. Если вам любопытно, как там все работает, то писать программы интересно. Если вам скучно - вы скорее всего уйдете в другую фирму достаточно быстро. Может быть обратная ситуация - вам нравится инструмент и вы ищете область, где он хорошо может применятся. Наверно это тема отдельной статьи. Я подумаю над этим.
Вот такой у меня вывод и такие предложения по учебе. Удачи.
Комментариев нет:
Отправить комментарий