Я не фанат высшего образования. Я вообще не фанат организованного образования, т.к. в упор не понимаю, почему это вообще нужно организовывать в какую-то систему. В этом посте я постараюсь описать мой опыт в универе и прочих местах. Но в основном в универе.
Когда я пошел в универ, я уже умел программировать. На первом курсе, куча людей пришли вообще без опыта, и только осваивали Java. Я знал больше чем большинство, но меньше чем те, которые не только знали но еще и имели опыт. А такие тоже конечно были.
В то время, я считал что если ты уже не кодер когда тебе 18, то тебе поздно. Сейчас, смотря на современных детей, я понимаю что планка съехала вниз… дети сейчас программируют с начальных классов, и годам к 10 «написать программу» это для них нормальное явление, хотя конечно они еще не вкуривают программы так же системно, как мы. Но всякие Lego MindStorms и прочие плотно захавали из мозг, а С/С++ и Arduino на курсах робототехники тоже практически стали нормой.
Так вот, к 18 годам я попал в один из «топовых» универов Англии который, впрочем, специализируется в основном на электронике а не на comp sci. И я не сказать чтобы впечатлился тем, что я увидел, хотя свою университетскую программу на то время (2000-2003 год) я запомнил описательно.
В плане программирования у нас была Java и С++. Часть преподавалась как теория, часть как практика в лабораториях (которыми руководили всякие postgrads), а для особо продвинутых студентов (таких как я) были доролнительные занятия под названием Space Cadets где можно было написать что-то более сложное.
Если честно, меня не впечатлило ничего. Было очевидно, что преподавателям было глубоко пофиг на эту джаву, они витали в облаках своих абстрактрых hypermedia и язык знали ровно на том уровне, который им позволял что-то преподавать. При этом, те темы которыми занимались преподы были унылы, академичны и к реальной жизни не относились от слова совсем. Например, все пели песню про semantic web, двунаправленные гиперссылки и кучу всяких других абстракций которые индустрия никогда бы не вредила. Пожалуй это первый раз в жизни когда я почувствовал пропасть между академией и реальной индустрией которая делала что-то полезное.
Практически сразу же у нас начались такие бессмысленные предметы как «формальные методы» — это когда используешь языки формального описания программ которые позволяют, например, доказать их корректрость. Хорошо в теории, но если ты не разработчик NASA или Boeing, тебе такие навыки нафиг не нужны. Особенно при том что сами преподы не могли банально объяснить, как язык Z или B ложился на реальный код. Все это было выкинутым временем и можно было сжать до одной 45-минутной лекции. Хотя исследований на эту тему в академии тоже было уух. В этом предмете я впервые увидел препода, который заваливает тебя десятками статей. Это правда было факультативно, а то бы я повесился.
На первом курсе у нас также был семестр электроники, где мы с осциллоскопом и макетными платами делали что-то с простыми схемами. Этот предмет тоже меня не особо зацепил, просто потому что меня в то время не интересовалал электроника и я не знал как все это применить. В те времена еще не существовало литий-ионных батарей и вся тема с созданием портативной электроники только начиналась. О 18650 я в те времена не слышал.
Еще один предмет что у нас был это data structures and algorithms, который почему-то поместили в один семестр. Там были, в принципе, годные идеи о сложности и том какие структуры и когда использовать, но в то время меня интересовало только одно: как получить результат малой кровью. Напомню, что в то время Java была в зачаточном состоянии, структуры были нетипизированные (они и сейчас по факту нетипизированные, несмотря на дженерики) и все это выглядело немного адово.
У нас была дискретная математика и обычная математика (на достаточно базовом уровне — не «вышка» как в универах в РФ). Это как раз то что у меня получалось лучше всего, как ни странно.
У нас было 2 предмета связанных так или иначе с «логическим» программированием. В одном мы изучали Scheme (этакий LISP), в другом — Prolog. Оба эти языка мы прошли очень поверхностно, и я помню что преподам было очень неприятно когда я приставал к ним со всякими распросами. Мне кажется им самим было глубоко параллельно на все это.
В плане собственно software engineering у нас было несколько предметов. Был предмет Professional Issues который обсуждал всякие soft skills и всякую хрень которая происходит в индустрии, как нужно делать презентации, копирайт и прочие этические вопросы. Мимо меня это прошло все чуть более чем полностью.
Кстати, часть всей этой кухни была игра под названием software management game — достаточно безумное времяпрепровождение для студентов, этакий fantasy league, где нужно выбирать на что твоя компания потратит деньги каждую неделю чтобы завершить проект. Пользы от такого симулятора — почти нуль, но хоть был какой-то контекст чтобы пообсуждать как это все менеджится. Победителям, если я правильно помню, выдали кнут (!) в рамочке.
Групповой проект… эхх, это было немного жестоко конечно. На 3 курсе нам впятером нужно было сделать именно групповой проект, который подразумевал переиспользования уже готового куска чьего-то легаси кода для управления взлетно-посадочной полосой. Не суть важно что там было, я ринулся в код, в то время как другие участники этого процесса решили отдохнуть… ровно до того момента как руководство сказало что баллы за проект будут распределяться поэтапно путем голосования каждого из участников. Тут-то я подумал что все баллы должны быть мне, а коллегам минимум.
Все конечно встрепенулись и начали вкладывать хоть какую-то лепту в общий проект. При этом, пока все работали в notepad, у меня был JBuilder и эффективность моя была все-таки повыше. Также, в этом проекте у меня создался первый в моей жизни профессиональный конфликт. Интересно? Ок, рассказываю.
Из 5 человек в нашем проекте была одна девушка. Она занималась тем, что на каком-то сайтике своем рисовала каких-то смешных анимированных персонажей. Вот собственно и все. Были ли у нее скиллы собственно программирования или нет, никто не узнает, т.к. ее вклад непосредственно в сорцы был минимален.
Но вкладывать что-то ей все-таки хотелось, еще бы, перспектива остаться без баллов мало кого порадует. Так вот, она в какой-то момент решилась делать иконки для нашего приложения. Сделала она иконки и получилось у нее… плохо. Не то чтобы ад, но совсем плохо, так что я вместо этого просто взял готовые у меня где-то иконки а ля Word, всавил эти иконки, и собственно все.
Девушка эта очень обидилась. Она посчитала что я как бы нивелировал ее вклад в проект. Я спросил коллег по проекту, кто прав, но они политкорректно пожали плечами и посоветовали мне чтобы я «не парился».
Ну, как-то вся эта история замялась, но потом эта девушка напечатала отчет, который на самом деле должен был делать тот кто «вел» нашу группу (очередной graduate student), но она его написала для него и послала всем нам чтобы проверить. И я написал ей «честный» фидбэк про то где у нее какие ляпы, приправив мои комментарии изрядной долей D&D-юмора про unholy destruction upon us all и все в этом духе.
Вот тут девушка на меня обиделась уже не на шутку. Нужно понимать, в то время еще не было никаких oppression olympics, поэтому девушка по имени Донна просто написала мне грозное письмо с недовольствами и перестала являться на групповые втречи. Было очевидно, что критика ее сильно задела и она восприняла ее как нападение на ее личность. Вообщем, она рано или поздно вернулась в реальность, но все это было очень неловко, а я, как и мои друзья, не мог понять что это она с цепи сорвалась. Забегая вперед, скажу что все мои попытки работать с женщинами над совместными проектами провалились именно из-за излишней эмоциональности оных. Хочется больше профессионализма!
Отдельно хочется упомянуть мой индивидуальный проект. С 3го курса, как я уже говорил, я попал к психологам — атмосфера на психологии мне понравилась намного больше чем на comp sci, поэтому мой дипломный проект я сделал там, написав систему для проведения онлайн исследований в области психологии (система кстати проработала лет этак 10!).
Так вот, мой основной фейл был такой: в то время, вместо java applets, я использовал плагины Macromedia Authorware, ныне умершей технологии. И не подумал про то, что этот плагин не будет работать в стенах моего собственного факультета. Вообще нигде. Часть людей использовали Linux (а плагин был Windows-only), а на студенческих компах банально не было прав чтобы его запускать в браузере! Так что когда я пошел «защищаться», все пошло не очень хорошо. Я не помню какая у меня была оценка, но невысокая.
Конечно, за 3 года было много «элективов» разной степени булшитистости. Был французский язык (нужно было иметь хоть 1 гуманитарный предмет), странные предметы вроде Artificial Intelligence (прогулял все лекции, готовился за ночь, получил >50%), а также предметы которые я просто забыл.
Какой вывод — да простой вывод из всей этой истории. Универ — это какой-то потрясный способ сжечь 3 года жизни и денег и при этом получить минимом скиллов. Программировать меня не научили… я даже Java забросил на 3 курсе т.к. вышел C# а я всегда хотел работать только на Windows поэтому мне было пофиг на всю эту кроссплатформенность и иже с ним. А на С++ в универе никто не умел программировать тогда и не умеет сейчас. Единственное исключение — это русские! Поэтому они сейчас и рулят там HPC делами.
Будь я сейчас студентом, я бы пошел на математику. Это и сложнее, и более фундаментально, и не устревает, применимо много где. А программирование — это не наука. Это навык. Чтобы программы писать. Ведь ключевым вещам вроде отдадки или юнит-тестирования нас в универе не научили от слова вообще… да и сейчас студентов таким вещам не учат.
Универ офигенен для социалочки. Девушки, пьянки, свободная жизнь в общежитии. Все вот это. Я на 3 курсе посетил дай сотона 50% лекций, а то и того меньше. Были дни когда мы по 4 часа в день играли в теннис. Смотрели фильмы (DVD, тогда еще), играли в игры, я прочитал тонну кних R A Salvatore на своем выигранном PDA (мы заняли 2 место на конкурсе программирования Barclays Capital Programming Challenge), ну и всякие MtG/D&D в больших количествах.
Для социалочки хорошо, а для развития все это какой-то фарс. Да и в исследованиях там сплошной фарс, обман и бессмыслица. Так то. ■
P.S.: тем временем…
Оставить комментарий