ВУЗ для IT специалиста: взгляд изнутри
Если вы давно закончили институт и уже сформировавшийся, матерый специалист, то вам не стоит читать дальше. Вы не узнаете из этого поста ничего нового и полезного. Может быть он вызовет у вас улыбку. Но судя по комментариям к статьям, на сайте достаточно и тех, кто еще учится или только собирается учиться на IT специальности. Для них этот пост написан и я искренне надеюсь может быть чем-то полезен.
Так сложилось, что я работаю подрабатываю в университете преподавателем на компьютерной специальности и уже много лет работаю разработчиком (фрилансером и офсерсером). Т.е. могу видеть обе стороны одной медали, имя которой — ВУЗ.
Дальше будет много букв и ни одной картинки. Кому еще интересно — прошу под кат.
Когда стоит идти учиться на IT-ника? Самый правильный ответ на мой взгляд — когда это для вас хобби и увлечение даже без института и образования. Многие студенты путают компьютер, как «хобби» и компьютер как «развлечение». Если вы любите играть в игры, знаете как ставить программы и где скачать самые свежие фильмы — не обманывайте себя. Для вас компьютер это развлечение. Если вы что-то «создаете» на своем компьютере (пишете программки, рисуете в PhotoShop или CorelDraw, моделируете в 3D Max или Maya, пишете музыку и т.п.) то компьютер для вас «хобби». Разница простая — если вы что-то создаете, то это увлечение, если только потребляете, то развлечение. Если вы продолжите свой путь в сфере IT, то вам придется что-то создавать с помощью компьютера, а это требует желания и трудозатрат. Многие студенты, которые пошли учиться на компьютерный факультет воспринимая компьютер как развлечение, а не как увлечение, быстро теряют интерес к учебе. т.к. для них тратить силы и время на то, чтобы что-то создавать, в тягость, а не в радость. И таких студентов неожиданно много (может быть процентов 70). Не нужно всем ломиться в IT, лучше найдите дело, которое действительно вам в радость, а не следуйте моде или давлению родителей.
Чему же все таки учит институт? Если полистать комментарии на эту тему, то все они вращаются вокруг мысли, что институт не готовит специалиста для IT и тут начинаются версии: то ли он учит учиться, то ли он дает кругозор, то ли погружение в среду и т.п. На мой взгляд учеба в университете похожа на тренировку в спортзале, где для вас запланирована и расписана по семестрам программа тренировок. И план тренировок очень щадящий. Именно так. Из моего опыта работы, знания полученные в институте это лишь 3-5% того, что нужно знать и в зависимости от специализации может 70-95% того, что вы проходили в институте вам не пригодится или пригодится лишь косвенно. Мозг, как и мышцы, можно развивать, если использовать и он атрофируется, если бездействует. ВУЗ просто повод им пользоваться. Каждый день, 3-4 пары в день, 5 лет. И все. Знания, кругозор, умение учиться, связи, окружение — все это как естественный бесплатный бонус который прилагается к тренировке мышления, как здоровье, хорошее самочувствие, здоровый цвет лица и подтянутая фигура просто сопутствующие результаты занятий спортом.
Насколько знания, полученные в ВУЗе глубоки? ВУЗ является продолжением школы. Нет никакого скачка в качестве и глубине излагаемого материала. Как в школе изучаются простенькие основы главных направления знания, так и в ВУЗе вам расскажут те же простенькие основы, может чуть более узконаправленные в контексте вашей специальности. Вы не станете «умным» после ВУЗа. Лабораторные и практические занятия далеки от того, чем занимаются IT-ники на работе, как по масштабу так и по сложности и разница эта огромна. Тут сказывается формат обучения: за короткое время для широкой и разношерстной аудитории ну ни как не получится углубиться в какое-то направление. За 2 часа лабораторной работы ну никак нельзя написать сколь либо сложную программу или законченный продукт в рамках курсового проекта. Все это можно было бы описать словами: попробуйте это, ткнитесь тут. Если выбранная специальность не является вашим увлечением и вы ничего не делаете дома «для себя», то на выходе из института из вас получится нулевой специалист.
Большинство преподавателей — плохие специалисты. Да, именно так. Жизнь простая штука и если понимать причины очевидными будут и следствия. Не секрет, что зарплаты специалистов в IT индустрии в разы (во много раз) больше зарплат преподавателей даже в хороших ВУЗах. Честно ответьте себе на вопрос: почему те, кто вас учат работают в университетах, бюджетниками, на своих небольших зарплатах? Потому что они не могут претендовать на квалифицированные должности в IT индустрии, им не хватает ни опыта, ни квалификации. Кому хватает — те уходят. Максимум держат минимальную ставку то ли для подстраховки, то ли как место где лежит трудовая. Старшее поколение преподавателей это как правило те, кто когда-то при союзе работал в смежных областях а с его развалом хоть как-то устроился близко к специальности. Они что-то «знали» (когда работали) и эти знания такие же древние, как и времена когда развалился союз. Хорошо, если кому-то из них было интересно разобраться в чем-то новом, но большинство просто прочитали толстую книжку по своему предмету, которую пересказывают вам. Любой вопрос сверх излагаемого материала — вводит в ступор, любое замечание — раздражает. У них есть опыт работы, но он слабо применим сейчас, потому что в те далекие времена страна что-то производила а сейчас IT — сфера услуг. Скорее всего вам мало пригодится их опыт того, как тестировать спутники на стендах перед запуском, потому что вы скорее будете допиливать чужую cms для западного заказчика, чем запускать спутники в нашей стране. Молодое поколение имеет другие причины. Я как-то спрашиваю у своего ассистента, почему он решил работать в институте? Ответ был простой: а я больше нигде не пробовал, потому что я собственно ничего не умею. Не так прямо, но смысл тот же. Вот так вот. Я вообще считаю, что преподаватель в IT должен работать в IT. Мне кажется странным, что в медицинском университете доцент принимает пациентов и делает операции (он практикующий врач), а в техническом ВУЗе доцент может позволить себе ходить с папочкой на пары и рассказывать студентам сказки не имея никакого практического опыта.
У преподавателя нет заинтересованности в ваших знаниях. Удивлены? А это так. И далеко не потому что преподаватели ленивые или безответственные люди. Раскрою маленький секрет преподавательской кухни: нагрузка, а с ней и зарплата и само штатное место, зависит от количества обучающихся студентов. Требования к ВУЗам и преподавателям ужесточаются каждый год. Почти на каждом заседании кафедры преподавателям прямо или косвенно намекают, что денег будет меньше и кого-то будут сокращать. Если преподавателя сократят, то куда он пойдет? Уж не на тот же рынок труда, где вы же для него будете конкурентом? Рыночная экономика и конкуренция вообще не предполагают передачи знаний, и уж тем более за те смешные деньги, которые стоит высшее образование. Знание — сила, конкурентное преимущество. Большинство преподавателей просто выполняют формальные требования министерства образования начитывая вам запланированный материал. Если студент не хочет его воспринимать, то никто не будет заниматься «заталкиванием» его в нерадивого студента. Вам очень повезло, если ваш преподаватель не думает подсознательно такими категориями а просто от души делится знаниями, которые у него есть, понимая, что общее благо важнее личной выгоды. Такие люди есть, но часто это понимание приходит с возрастом, а что могут дать люди в возрасте в качестве преподавателей в IT см. выше.
Не надо смотреть «на всех». Потому что если делать «как все», то и результат будет «как у всех». В группе большинство студентов — случайные люди у которых нет перспектив в IT. Может их запихнули в институт родители, может они просто жаждут легких и больших денег начитавшись статей о самых востребованных специалистах. Но их удел в большинстве своем или работа не по специальности или штатная низкооплачиваемая должность сисадмина/программиста-разнорабочего с соответствующей зарплатой. Конкуренция в IT велика. И читая про «дефицит специалистов», обращайте внимание на слово "специалистов", а не на слово «дефицит». Для талантливых студентов это крайне плохая ситуация. И потому, что необходимость ориентироваться на «среднего» студента снижает глубину и обширность излагаемого преподавателями материала, и потому что создается мнимое впечатление собственных успехов на фоне повального разгильдяйства основной массы. Не нужно себя сравнивать с сокурсниками. Лучшим критерием ваших знаний и успехов будут ваши сделанные проекты, ваши успехи на работе. Соотносите себя не с «серой массой», а с рынком. Зайдите на сайт фриланса — почитайте, что из предлагаемых работ вы в состоянии сделать, а что еще нет и даже аббревиатуры незнакомые. Очень отрезвляет, даже отличников обучения.
Оценка не важна. Еще со школы нас приучали измерять свои успехи в оценках. В институте это не работает (на самом деле это не работало никогда). Вообще как-то пора бы к ВУЗу вырасти из детских штанишек, когда основной наградой за успехи была похвала окружающих, в том числе выражающаяся в оценке, к более зрелому отношению, когда наградой является собственное удовлетворение проделанной работой, внутренняя мотивация. Устраиваясь на работу в IT в большинстве случаев ваш диплом с его оценками никто смотреть не будет. Важны ваши знания, потому что придется работать и приносить достаточно прибыли для получения зарплаты. Работник это инвестиция для фирмы и эта инвестиция должна окупаться. Спросите тех, кто работает в IT, спрашивал ли кто-то их диплом? В нормальных фирмах вам дадут тестовое задание, проведут техническое собеседование с профильным специалистом, возможно с вашим будущим начальником. Откройте глаза. Ценность диплома падает. Падает быстро, если не катастрофически. И ценность ваших оценок вместе с ним.
Нужно работать. Основная проблема студентов — отсутствие мотивации к получению специальных знаний. Информацию в них уже заталкивают, а зачем оно надо понимания нет никакого, потому что эта информация не применятся. А что не применяется, то забывается. Это не замкнутый круг. Просто нужно устроиться на работу. Как только сможете, лучше с первого курса. На частичную занятость, удаленно, фриланс. Как угодно. Минимальная работа имеет колоссальное влияние на мотивацию к учебе и понимание того, что важно и полезно, а что ненужно и второстепенно. Если вспомнить, что большинство преподавателей сами не работают в IT, то такое же большинство уделяет одинаково много времени и внимания на парах и тому, что действительно нужно и вы будете использовать это каждый день и тому, что представляет чисто академический интерес и вам ни разу не пригодится. Они просто не работали и не знаю разницы. Для них все на одно лицо и одинаковой важности, а на самом деле это далеко не так. Работая, вы будете учиться осмысленно, понимая что важно, а что нет, чему уделить внимание, а к чему можно отнестись формально. Если вы знакомы с кривой спроса/предложения, то это же кривая работы/учебы. К 5-му курсу гораздо важнее работать, чем учиться. Такой подход решает многие вопросы. Пока вы студент, у работодателя к вам даже подсознательно меньшие требования, учитесь. Первое место работы всегда выгоднее вам, чем работодателю — вы научитесь больше, а работодатель оплатит ваше обучение на рабочем месте. У вас появится тот самый «опыт работы от 3 лет» и т.д.
Достаточно просто присутствовать. Сложность излагаемого материала и требования к студентам стали уже столь низки, что для успешного обучения даже самым неспособным студентам достаточно просто присутствовать в институте. Просто слушать, просто дойти до практического занятия. Это вроде тривиально, но большинство даже не ходит. Преподаватели рады поставить вам ваш зачет/экзамен — просто дойдите до преподавателя. Создается иллюзорное впечатление, что можно не ходить и все будет, потому что существует негласный запрет на отчисление студентов-контрактников, которые «кормят» ВУЗы. Это так, но зачем было поступать, чтобы пропустить то, ради чего все затевалось? Ведь большинство пропускает не потому, что работают на 3-х работах (такие как раз получают зачеты экстерном и сдают экзамены на месте обладая достаточными практическими знаниями превышающими учебную программу), а потому что лень прийти.
Фактологические знания не так важны. В институтах, по привычке оставшейся с докомпьютерной эры, учат фактам, на экзаменах спрашивают факты («какая функция возвращает список файлов в каталоге?»). Это все не важно и нормальные преподаватели это понимают и со студентов не требуют. Прошли времена когда быстрее было вспомнить коэффициент упругости стали, чем искать его в справочнике в центральной библиотеке. Сейчас вся справочная информация на расстоянии двух кликов. Она лишь средство. Когда надо вы «подгрузите» в память то, чем пользуетесь в данный момент для данного проекта, когда переключитесь на другой проект, то вытесните эту информацию новой, которая будет нужна в данный момент. Возможности мозга весьма ограничены и работники сферы IT должны это чувствовать как никто другой. Не нужно много «запоминать», нужно «понимать», видеть причины и следствия, взаимосвязи, что на что влияет, из чего следует и к чему приводит. «Понимание» позволяет оперировать гораздо большими объемами знаний, чем «запоминание», дает возможность взглянуть на проблему издалека/под разными углами и никакой объем знаний без понимания этой возможности не заменит. Я бы посоветовал учиться маленькими итерациями: узнал, узнал, узнал, подумал, понял, уложил в памяти, связав с другими знаниями. Раз уж систему образования не поменять, постарайтесь поменять отношение к получаемым знаниям. Не надо накапливать факты, это приведет к мусору в голове. Старайтесь понять то, что знаете и связать все в целостную картину предметной области.
Знания по специальности не самые важные. Что же еще? Английский. Так сложилось, что платежеспособные заказчики говорят на английском. Если вы не способны с ними общаться на прямую — ваш удел работать через посредника (фирму), которая будет брать за свои услуги очень дорого (когда я работал на фирме в должности уровня «Team Leader» или «руководителем отдела разработки», потому что в те времена столь популярных сейчас названий еще в ходу не было, работнику платили 30-35% от дохода, который он приносил фирме. Возможно что-то поменялось за это время и теперь работник получает больше, например 50% от заработанного, но прослойка менеджеров и руководства все равно ближе к первоисточнику дохода и тоже хочет кушать). Так сложилось, что вся серьезная документация на английском и пока вы не имеете к ней прямого доступа ваш удел читать переводы, которых не всегда достаточно и которые ограничивают ваш кругозор. Что еще? Организаторские способности, умение решать проблемы (то, что называется талантом предпринимателя). Вас не удивляет, что ваш знакомый, который учился на троечку сейчас Project Manager и выдает вам задания? Или даже руководит фирмой в которой вы работаете? Мало троечников попадают в эту категорию, но те, что попадают, имеют на то причины. Пока вы своим умом просто учились на отлично, они, не имея ваших способностей к наукам, развивали свои способности: умение решать вопросы, находить лазейки, договариваться с людьми. Те способности и навыки, которые у отличников обычно не развиты за ненадобностью. Я не призываю учиться плохо, просто обратить внимание на этот вопрос. Жизнь отличается от университета. Потолок роста дохода работника очень ограничен. Team Leader получает максимум в несколько раз больше Junior Developer. Это круто, но владелец получает немаленький процент с денег, который зарабатывает каждый из них, а увеличение размера бизнеса дает гораздо больший потолок дохода, чем карьерный рост.
Обучение в ВУЗе это не все. Сейчас время расцвета разнообразных online курсов. Как отечественных, так и зарубежных. В вашем ВУЗе, даже если он столичный и в нем лучшие преподаватели страны, ограниченный круг людей, у которых вы можете учиться, ограниченный набор предметов, вы ограничены программой своего министерства образования и уровнем аудитории вокруг вас. Если хочется узнать больше, попробовать другой, возможно более понятный, подход к изложению материала — весь интернет в вашем распоряжении. И не важен диплом, за который обычно просят денег. Важны ваши знания. Можно выбрать курсы, которые интересны лично вам, соответствуют вашему уровню знаний и просто послушать их бесплатно (без получения диплома) или в виде видеоуроков. Смысл в самообразовании. Ваше будущее делаете вы. Если что-то интересно — стоит попробовать этим заняться, часто интерес спутник таланта, который грех не развивать. Таких курсов очень много: Udacity, Coursera, edX и другие. Достаточно просто задаться таким вопросом.
Это не все, что можно сказать на эту темы, но пост и так получился длинным. Если тема будет интересна, я постараюсь поделиться и другими наблюдениями из опыта практического разработчика, преподающего в университете. Будущим студентам успехов в выбранной области, а текущим во время приближающейся летней сессии.