Найти тему
Petr Nagel Games

Высшее образование для программиста. Нужно ли?

Привет! Меня зовут Пётр, мне 27 лет. Я являюсь востребованным специалистом в области программирования, занимаюсь разными проектами, и уже успел отклонить приглашения на собеседования от Яндекса, Сбера, и Тинькова. И да, у меня нет "вышки". Как же так получилось? Давайте порассуждаем.

Сразу оговорюсь: случаи бывают разные, и сам факт наличия или отсутствия образования не является основополагающим!

Итак, как я уже сказал, мне 27 лет, и на собеседованиях я строю из себя крутого парня. Да так, что иногда позволяю себе вольность вести собеседование в обратном русле. Когда собеседуют не меня, а я - компанию. Конечно, так было не всегда. Но я прошу вас запомнить этот момент. К нему мы ещё вернёмся.

Начал увлекаться программированием я достаточно давно, ещё в средней школе, классе так в пятом-седьмом. Для меня первым языком программирования был скриптовый язык из среды разработки интерактивных обложек MMBuilder, затем NeoBook, а после и вовсе - Game Maker. Странный набор, но другого, увы не было.

Компьютерного интернета у меня тогда не было, и всю информацию я черпал через Opera Mini Mod с возможностью сохранения страниц. Открывал как можно больше вкладок, пока баланс телефона не уходил в минус, сохранял их в память телефона и после уже читал и изучал.

В качестве контента я потреблял тематические форумы, "boolean.name", "gamedev.ru" и подобные. Всё было связано с игровой тематикой, так как в основном на сайтах по геймдеву можно было найти информацию по имеющейся у меня программе Game Maker. Изучал я GML - встроенный язык программирования этой среды.

Родом я из деревни, поэтому изучать всё было вдвойне тяжело, ибо постоянно нет времени. Работой по хозяйству я был обеспечен 26/7.

В 16 лет, перебравшись в город, я поступил в университет на базе 9 классов в экспериментальную группу на высшее образование. Параллельно изучал программирование самостоятельно. Первый год учёбы в ВУЗе мы изучали школьную программу, точнее - её остатки. Да так плотно, что на обучение уходили, буквально (и я не шучу) дни и ночи.

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

Напишите в комментариях, при поступлении на базе 11 классов сейчас, вы сразу садитесь за профильные предметы, или к ним тоже идёт "подготовка"?

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

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

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

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

Я учился в 2010 году на втором, кажется курсе. У нас был учебник по Введению в специальность 2006 года. Мы изучали Fox Pro. Да, какие-то предприятия работают на нём до сих пор, но... эй! Мне ~22 года, я молодой и перспективный специалист, желающий работать в 2010 году, а не в 2006!

Да, в защиту этого можно сказать, что всё это обучение даёт нам базу, прививает усидчивость, умение работать с информацией, классифицировать её, сортировать, и много всего ещё полезного в жизни.

Но давайте я задам вопрос по-другому: когда человек осознанно идёт на программирование, наверное он с этим уже знаком, а раз он с этим знаком, то, скорее всего, его интересует именно программирование, нет?

За три года, пока я не бросил учебу, я изучал: бухгалтерский учёт, правовое дело, судебную систему, геометрию, алгебру, русский язык, философию, физику, химию, и кучу других различных предметов, которые не то, чтобы не связаны с программированием, они вообще в другой категории.

Я не осуждаю нашу систему, ни в коем случае. Но извините, если бы я так хотел изучить что-то из философии, или литературы, вероятно, я бы выбрал специальности чуточку ближе к ним.

На третьем курсе я бросил учёбу, так как третий курс ничем не отличался от второго. Совсем. Добавились некоторые новые предметы, никак не связанные с профилем. Времени переставало хватать даже на само обучение в ВУЗе, так как каждый преподаватель требовал знаний по своей дисциплине. Приходилось выбирать, где получить "пять", а где "два".

Бросив учёбу я отправился в армию.

Жалею ли я, что бросил? Нет. Очень этому рад и бросил бы раньше, если бы всё понимал ещё тогда. Но мешало мнение родителей, неуверенность в себе, и возможное осуждение в будущем.

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

И даже если вы меня осуждаете сейчас, подумайте вот о чём.
Идя в университет на программирование, вы УЖЕ знакомы с программированием. Вы УЖЕ умеете писать, считать, знаете (вот это поворот!) физику, химию, литературу, русский язык и ещй с десяток школьных предметов. Понимаете, в чём беда. В универе вас будут учить тому же, что и в школе, только в чуть бОльших мастштабах.

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

Базовая логика уже должна быть известна тем, кто идёт на программирование. Но в универе вас научат такой штуке, как "алгебра логики". Для меня она была одной из самых интересных.

Математические методы. Это то, чего вы не встретите в школе, но это очень важная часть программирования. Не всего, скорее даже, малой его части. Но там, где нужны знания и понимание мат. методов, "блуждать" запрещено.

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

Я могу рассказать всё, что знаю сам, из реального опыта реального человека.

Напоследок отвечу на вставший вначале вопрос - нужно ли высшее образование программисту?

Мой ответ - нет. Но это вовсе не значит, что не нужно никакого.

Верный вопрос для начинающего программиста такой - Как подойти к вопросу образования правильно и получить максимум знаний и не сойти с ума?

И я готов на него ответить, сполна.

PS: И ещё один ответ на вопрос, возникший у вас - как скоро можно наглеть и начинать строить из себя крутого программиста?
Ответ - с самого первого собеседования.

Почему? Об этом позже.

Всем Спасибо за внимание!