- PVSM.RU - https://www.pvsm.ru -

RE: ВУЗ для IT специалиста: взгляд изнутри

Здравствуйте, дорогие читатели !
Этот топик-ответ на недавнюю статью [1] о получении IT специальности в ВУЗе.

Первой моей реакцией на этот пост был комментарий [2], в котором я попытался уточнить географическое положение рассматриваемых Высших Учебных Заведений. Что удивительно, помимо ответа на мой комментарий на хабре [3], несколько человек ответило мне в Facebook'e (у них пока что нет инвайтов), а товарищ quicksdk [4] попросил меня рассказать в том же ключе о University of British Columbia [5].

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

Позволю себе процитировать уважаемого mattheus [6]:

Дальше будет много букв и ни одной картинки. Кому еще интересно — прошу под кат.

Когда стоит идти учиться на IT-ника?

Не нужно всем ломиться в IT, лучше найдите дело, которое действительно вам в радость, а не следуйте моде или давлению родителей.

Абсолютно согласен с этим утверждением. Примерно 70% людей, которые учатся на программиста в UBC (и с которыми я общался), в итоге просто хотят найти себе работу по специальности. То есть во время учебы в университете единственное что они создавали — это учебные проекты, необходимые для того, чтобы закончить курс; и ничего более. Попробовать себя можно: для этого в UBC есть специальный курс (CPSC 110), который может взять любой студент, как электив. Но если у Вас нет тяги к программированию, и не появилось ее после этого курса, Ваше призвание в другом. Поверьте, Computer Science это не так просто — поэтому в UBC почти за все компьютерные курсы дают 4 кредита, а не 3, как обычно.

Чему же все-таки учит институт?

Из моего опыта работы, знания полученные в институте это лишь 3-5% того, что нужно знать и в зависимости от специализации может 70-95% того, что вы проходили в институте вам не пригодится или пригодится лишь косвенно.

Я честно не знаю, как обстоят дела в России, но в UBC на первом курсе можно было выучить Java и Python на достаточно хорошем уровне для того, чтобы начать фрилансить. Основы ООП и функционального программирования, интересные подходы к структурам, многие тонкости работы с IDE — все это я постиг именно в университете.

Стоит заметить, что мой основной профиль — это Objective C, никак не Java; и Objective C я выучил самостоятельно. Однако, благодаря тому, что я узнал за университетской скамьей, я начал активно использовать возможности рефакторинга, мое мышление [7] встало на место, я начал писать код, который смогут после меня прочесть другие разработчики. На первом году обучения в UBC приходится брать пару-тройку ненужных предметов, но они точно сильно расширили мой кругозор. Для второго года я уже почти выбрал себе курсы, и в основном это Computer Science.

С другой стороны, работая фрилансером, я почти никогда не применял Java, зато различные шаблоны программирования, изученные в университете, сильно облегчили мне работу на Objective C.

Насколько знания, полученные в ВУЗе глубоки?

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

В первый год — да, скачка никакого нет: все поверхностно. Однако, по рассказам выпускников, 2-4 года в UBC дают гораздо более глубокие знания (как минимум, глубокое изучение C).

Тут сказывается формат обучения: за короткое время для широкой и разношерстной аудитории ну ни как не получится углубиться в какое-то направление. За 2 часа лабораторной работы ну никак нельзя написать сколь либо сложную программу или законченный продукт в рамках курсового проекта.

Опять же, не знаю, как обстоят дела в России; но в UBC на Computer Science факультете убивается безумное количество времени именно на обучение. Помимо работы над проектами (25+ часов), есть и Co-op программы. А это погружение в рабочую среду на полные 3 семестра (работа на полную ставку в EA, Microsoft, Google, Facebook, etc.)

Если выбранная специальность не является вашим увлечением и вы ничего не делаете дома «для себя», то на выходе из института из вас получится нулевой специалист.

Здесь со всем согласен. Из песни слов не выкинешь.

Большинство преподавателей — плохие специалисты.

Да, именно так. <...> Честно ответьте себе на вопрос: почему те, кто вас учат работают в университетах, бюджетниками, на своих небольших зарплатах? Потому что они не могут претендовать на квалифицированные должности в IT индустрии, им не хватает ни опыта, ни квалификации.

Нет, это не так. Большинство профессоров в UBC CS работают преподавателями в свободное время от своих исследований. Университет это в первую очередь — исследовательская база. Насколько я знаю, на AI в нашем университете выделяют большие деньги и многие профессора трудятся именно в этом направлении. Я лично общался с человеком на кампусе, который одним из первых создал роботов, автономно играющих в футбол.

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

В UBC просто так преподавателем не попасть. Все преподаватели разрабатывали что-то стоящее. Например, мой учитель по CPSC 121 был одним из разработчиков Magic Box — великолепной песочницы для обучения основам работы с микроконтроллерами; а один из учителей CPSC 110 был одним из создателей языка Racket.

Любой вопрос сверх излагаемого материала — вводит в ступор, любое замечание — раздражает.

Отнюдь. Любая задачка для профессоров интересна, особенно, если это связано с их профилем. Я не раз приходил на офисные часы к моему преподавателю по CPSC 210 и решал с ним некоторые сложные задачки, связанные с фрилансом.

У преподавателя нет заинтересованности в ваших знаниях.

Если Вы в числе тех 70%, что не любят программирование, то конечно, заинтересованности не будет. То ли я хороший собеседник, то ли профессора такие хорошие; но всегда, когда у меня была проблема — мне давали знаний с лихвой. Иногда преподаватели настолько сильно углублялись в какую-то область их предмета, что я опаздывал на следующие пары: так приятно было мне их слушать.

Не надо смотреть «на всех».

Для талантливых студентов это крайне плохая ситуация. И потому, что необходимость ориентироваться на «среднего» студента снижает глубину и обширность излагаемого преподавателями материала, и потому что создается мнимое впечатление собственных успехов на фоне повального разгильдяйства основной массы.

Если нужны более глубокие знания — в UBC можно взять курсы Honor в Computer Science. Группы меньше, почти все студенты одаренные, глубина знаний в разы превышает обычные курсы, и ориентированность идет как-раз на «умных» студентов.

Не нужно себя сравнивать с сокурсниками. Лучшим критерием ваших знаний и успехов будут ваши сделанные проекты, ваши успехи на работе. Соотносите себя не с «серой массой», а с рынком. Зайдите на сайт фриланса — почитайте, что из предлагаемых работ вы в состоянии сделать, а что еще нет и даже аббревиатуры незнакомые. Очень отрезвляет, даже отличников обучения.

Хороший совет, вне зависимости от университета, и даже специальности.

Оценка не важна.

Устраиваясь на работу в IT в большинстве случаев ваш диплом с его оценками никто смотреть не будет. <...> В нормальных фирмах вам дадут тестовое задание, проведут техническое собеседование с профильным специалистом, возможно с вашим будущим начальником.

Все правильно. Однако для получения грантов и финансирования в UBC обычно нужны оценки 90%+. На elance.com меня никто не спрашивал про диплом. Для Co-op программы нужен определенный минимум средней оценки, но если Вы понравились работодателю на собеседовании — Вас все равно возьмут.

Нужно работать.

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

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

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

Достаточно просто присутствовать.

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

В UBC сложно попасть, из UBC легко вылететь. Присутствие на лекциях — это 10% от оценки, максимум. Остальное — это постоянные экзамены, домашняя работа, проекты и задания. UBC просто держит в постоянном тонусе, нет возможности «просто присутствовать».

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

В UBC платят все (кроме особо одаренных). Нет никаких привилегий. Если выкинут одного «кормильца», на его место придет другой: у этого университета есть еще тысячи желающих поступить.

Фактологические знания не так важны.

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

Тут система немного отличная от российской: нужно именно понимать, а не запоминать. На все экзамены разрешено приносить с собой лист А4 со всей нужной Вам информацией. Да и тестируют именно понимание, а не простое знание. Но это в IT, как обстоят дела с другими профессиями — я не в курсе.

Знания по специальности не самые важные.

Что же еще? Английский. <...> Организаторские способности, умение решать проблемы (то, что называется талантом предпринимателя).

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

Обучение в ВУЗе это не все.

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

Не смотря на обширное количество различных курсов в самом UBC (возможно, большее, чем в российском столичном ВУЗе), знаний по специальности может не хватить. Я ничего не узнал про Objective C в университете. Все изучал сам по туториалам, видеоурокам, видеолекциям. Особенно мне помогли Стенфордские лекции по iOS. Полностью согласен с автором оригинального топика: учиться нужно и вне университета.

Личные комментарии

Я честно всеми силами пытался выгородить российские университеты. Я честно пытался как-то аргументировать отсутствие того же МГУ или МГИМО в топ-300 университетов мира. Но оригинальная статья разбила все мои надежды в пух и прах.

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

Статья представляет собой исключительно мое мнение и мои наблюдения.
В случае, если Вы обнаружили какие-либо неточности или опечатки в моей статье, милости прошу ко мне в хабракабинет [8].

Автор: backmeupplz

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/obuchenie/34437

Ссылки в тексте:

[1] недавнюю статью: http://habrahabr.ru/post/179759/

[2] комментарий: http://habrahabr.ru/post/179759/#comment_6244613

[3] ответа на мой комментарий на хабре: http://habrahabr.ru/post/179759/#comment_6244985

[4] quicksdk: http://habrahabr.ru/users/quicksdk/

[5] University of British Columbia: http://www.ubc.ca

[6] mattheus: http://habrahabr.ru/users/mattheus/

[7] мышление: http://www.braintools.ru

[8] хабракабинет: http://habrahabr.ru/users/backmeupplz/

[9] Источник: http://habrahabr.ru/post/179891/