![Пензенский Государственный Университет Пензенский Государственный Университет](https://habrastorage.org/getpro/habr/upload_files/5b4/716/90b/5b471690b31f9aa1467d16a105a9bff1.jpeg)
Здравствуйте, меня зовут Сергей, и у меня, как и у многих других программистов, нет диплома о высшем образовании. Не то, чтобы я не пытался его получить - пытался, даже дважды. Но как оказалось, в Пензе - небольшом провинциальном российском городке, где я вырос, получить диплом о высшем образовании в области ИТ конечно же можно, но вот само это образование получить никак не удастся. Этот пост - история моих неудачных попыток и описание встретившихся на моем пути проблем.
Творец из "7В"
Начал программировать я еще в школе. На уроках информатики в седьмом классе я познакомился с Turbo Pascal. Программирование практически сразу же стало моей страстью, меня очаровывала приобретенная мною власть над компьютером. Я чувствовал себя почти что Богом - я мог собственноручно создавать из ничего целые системы, работающие согласно моему, как мне тогда казалось, исключительно гениальному замыслу. И первым делом я сделал то, что сделал бы на моем месте любой другой семиклассник - я взялся за создание собственной RPG-игры "World of Plus", которая должна была стать убийцей популярного тогда World of Warcraft.
Игра называлась так в честь главного героя - отважного плюсика, путешествовавшего по замку, стены которого, как и любые иные препятствия в игре, состояли из ноликов. Я еще не знал о том, как работать с графикой, поэтому игра была сделана в ASCII-стиле. В одной из комнат замка плюсик мог встретить персонажа, выглядящего как знак вопроса. У него плюсик мог взять единственный в игре квест - сходить в другую локацию, найти пропавший меч и вернуть его законному обладателю.
К сожалению, из-за болезни я пропустил те уроки информатики, на котором рассказывали про циклы и процедуры, и поэтому код, который я с гордостью называл графическим движком игры, был основан на использовании меток и оператора GOTO.
Я выложил скомпилированный исполняемый файл игры на местном файлообменнике и, собрав достаточное для удовлетворения своего эго количество хвалебных отзывов, забросил проект. Хотя я продолжил развиваться как программист и изучал самоучители по разным языкам программирования, основное время я посвятил таким важным для подростка делам как дворовой футбол, бренчание на гитаре в дружеской рок-группе и Lineage 2. Сейчас, с высоты прожитых лет я вспоминаю то время с особой теплотой, и ни о чем из содеянного не жалею.
Атлант не хочет учиться
Когда к старшим классам я начал задумываться о том, кем я хочу стать, я ни секунды не сомневался. Я знал, кем я буду, с тех самых пор, когда я в первый раз увидел перед собой голубое окошко Turbo Pascal. Но если до этого, мой путь мне виделся таким же, как его представляли себе мои родители - школа-университет-работа, то к тому времени у меня появились первые сомнения.
Мой разум внезапно пробудился от шестнадцатилетней спячки после прочтения романа русско-американской писательницы Айн Рэнд "Атлант расправил плечи". Я начал задаваться вопросами о том, не мысли ли безумной толпы формируют мое мировоззрение, и задумываться над тем, в чем вообще состоит смысл моего школьного образования. Поиски ответа привели меня к серии статей Олега "Фрицморгена" Макаренко (да простят мне хабровчане упоминание его имени), в которой были четко определены и великолепно описаны все волновавшие меня тогда проблемы школьного образования. Кроме того, оказалось, что высшее образование в России тоже далеко не идеально Особенно сильное впечатление на меня оказала небольшая творческая заметка анонимного автора про маленький лесной университет.
Также усиливал мои сомнения дурной и заразительный пример моего старшего двоюродного брата Евгения, незадолго до этого бросившего учебу в университете и устроившегося работать программистом на казавшиеся тогда космической суммой 40 тысяч рублей в месяц. От его рассказов о происходящем в университете абсурде мои волосы вставали дыбом.
Но выхода не было - родители давили, будущее казалось туманным, и мне все-таки пришлось поступить в Пензенский Государственный Университет на специальность "Инженерия программного обеспечения".
Первая попытка - Пензенский Государственный Университет
Мой путь к становлению инженером-программистом начался 1 сентября 2012 года на центральной площади города Пензы, названной, как это принято в российских провинциальных городах, в честь вождя Великой Октябрьской революции Владимира Ленина, чьи слова "Учиться, учиться и еще раз учиться" обрели бессмертие в сознании любого постсоветского человека и грели душу новоиспеченного студента в тот волнительный осенний день.
К сожалению, мои опасения подтвердились практически сразу. После общих поздравительных слов и недолгой шоу-программы с танцами и песнями на установленную прямо под каменным истуканом прищурившегося Ильича сцену вышел проректор университета. Я не помню ни его имени, ни того, как он выглядел, ни проректором по чему именно он был, но его слова оставили неизгладимый след в моей памяти. Проректор громко и уверенно произнес: "Дорогие студенты, не материтесь. Мат - это язык демонов в аду. Когда вы материтесь, в вас говорят демоны". После этих слов он продолжал что-то говорить, но я уже ничего не слышал, а отправился куда-то вглубь самого себя, в свои мысли...
Спустя пару дней началась учеба, и все мои худшие ожидания полностью оправдались. Математику нам преподавала с трудом ходящая бабушка лет восьмидесяти, которая обожала исписывать всю доску трехэтажными формулами, ничего толком не объясняя и изредка поворачиваясь лицом к аудитории и спрашивая, все ли мы поняли, и не дождавшись ответа продолжая писать. У нее была одна интересная особенность - иногда во время разговора со студентами она замолкала и неподвижно замирала на минуту-другую, уставившись в одну точку. Было не совсем понятно, в каком конкретно месте и времени находилось в эти моменты сознание бабушки, но было абсолютно очевидно, что ей давно уже пора на пенсию.
На парах информатики мы изучали форматирование документов в Microsoft Word и создание красиво вылетающих слайдов в Microsoft PowerPoint. По словам преподавательницы, это было необходимо, чтобы даже если мы не станем программистами, то с этими навыками мы всегда могли бы работать секретарями.
Лекции по программированию на C у нас вел действительно разбирающийся в своем деле преподаватель, ведь помимо собственно преподавания он работал программистом в местной ИТ-компании. Как я помню, он был единственным, кто действительно понимал предмет, которому учил. Но ничего кроме краткого введения в синтаксис C мы от него не получили.
С лабораторными работами по программированию нам повезло гораздо меньше. Их проверкой занималась бабушка, которая требовала кроме программы на флешке предоставлять также код программы на листочке бумаги. Было не совсем понятно, зачем ей программы на флешке, ведь она их никогда не запускала, а проверяла только бумажную версию. Путем нехитрых экспериментов мы выяснили, что бабушка не особо разбиралась в том, что она проверяет, так как она принимала откровенно ошибочные варианты.
Я мог бы и дальше продолжить описывать конкретные случаи, но это не имеет особого смысла. Общей чертой почти всех преподавателей специализированных дисциплин были:
Средний возраст около 60 лет.
Отсутствие опыта работы по той специальности, которую они преподают, а следовательно незнание общепринятых в индустрии практик и технологий. Большинство преподавателей пошли работать в университет сразу после того, как сами его закончили. Никто не мог вразумительно объяснить где именно используются даваемые знания.
Неумение объяснить материал так, чтобы студентам было понятно. Большинство просто зачитывали текст с бумажки, возможно даже не понимая смысла написанного.
Полное незнание английского - lingua franca современной науки и индустрии, а следовательно отсутствие знакомства с мировыми образовательными и индустриальными стандартами. Даже преподавательница английского языка была очень далека от хорошего знания английского.
Во всей университетской программе обучения прослеживалась вопиющая бессистемность, хотя фанаты "лучшего в мире советского образования" утверждают обратное. Специализированные предметы преподавались из рук вон плохо. Даже если название предмета и его содержание звучали многообещающе, внутри оказывалась фикция - каждую тему проскакивали крайне поверхностно без возможности погрузиться внутрь.
Кроме специализированных предметов были и так называемые "общеобразовательные". Примерно половина времени была отведена под совершенно нерелевантные вещи: экологию, русский язык, обществознание, физкультуру, на которых просто пересказывалась школьная программа. Зачем это было нужно, я так и не понял.
Отдельно стоит описать однокурсников: намеренно пришли учиться программированию от силы 30% студентов. Остальные находились в группе по разным причинам: большинство просто не хотели попасть в армию, за некоторых сделали выбор родители, некоторые считали, что программирование - это модно.
Я продержался в этом университете всего около года...
Начало работы
Выход от бессмысленности обучения в университете я нашел в своего рода эскапизме - по вечерам после возвращения из университета я учился разработке Android-игр на почившем ныне движке AndEngine.
Первую свою игру я выпустил в паре с бывшим одноклассником. Он рисовал графику, а я программировал логику. Игра называлась Strawberry Tower - игрок должен был построить башню из коробок, чтобы поставить на ее вершину кубок и собрать клубничку.
![Strawberry tower Strawberry tower](https://habrastorage.org/getpro/habr/upload_files/72c/eaa/8e6/72ceaa8e681c73e11e1357d2bc1ecacd.png)
Следующей игрой стал платформер Speedy Flyer, в котором игрок управлял двумя червяками, синхронно летящими в космосе, и должен был уворачиваться от препятствий. Издателя для игры я нашел на Хабре, им стал автор популярных тогда Android-игр @coder1cv8
![Speedy Flyer Speedy Flyer](https://habrastorage.org/getpro/habr/upload_files/c82/cfb/912/c82cfb91240cb40094a87512fd4f6934.png)
Следующим проектом стало продолжение игры про космических червей. Только в новой игре червь был один, а графика стала более реалистичной.
![Speedy Flyer 2 Speedy Flyer 2](https://habrastorage.org/getpro/habr/upload_files/efb/6ec/944/efb6ec94479b5fd845b0ba443532eb3d.png)
Эти любительские проекты помогли мне найти работу в небольшой местной геймдев-студии, которая занималась разработкой игр для социальных сетей. Их самым популярным проектом была игра для маленьких девочек "Аватария", я же попал на разрабатываемую с нуля онлайн-стратегию под названием "Королевства".
Несмотря на то, что мой тимлид несколько раз умолял директора уволить меня, а сам директор впоследствии зарекся нанимать малолеток, они не без труда но научили меня писать хороший код - после каждого код-ревью моих пулреквестов меня заставляли перечитывать от корки до корки книгу Боба Мартина "Чистый код" и делать выводы из совершенных мною ошибок.
Работа над проектом игры с нуля до релиза дала мне множество бесценных знаний. Когда я программировал графику и писал шейдеры, я понял зачем нужны матрицы. Когда я работал над алгоритмами поиска пути и расчета боя, я понял зачем нужна математика. Оптимизируя графический движок игры, я понял как работает вычислительная сложность алгоритмов. Но самый важный урок я получил при разработке искусственного интеллекта воинов - мой сложно устроенный искусственный интеллект в пух и прах продул несколько битв подряд простому как топор и не задумывающемуся над вопросами бытия искусственному интеллекту, написанному моим тимлидом. Так я понял, что чем код проще, тем лучше.
![Осада замка в игре ״Королевства״ Осада замка в игре ״Королевства״](https://habrastorage.org/getpro/habr/upload_files/94f/384/b9a/94f384b9afce7f74cdaa4a99f6bd36e3.jpeg)
Несмотря на имеющуюся работу я не оставил попыток получить образование и на следующий год я решил попытать счастья в другом университете на вечернем отделении...
Вторая попытка - Пензенский Государственный Технологический Университет
Этот университет был создан при существовавшем в Пензе в советские времена заводе ЭВМ, и все преподаватели старшего поколения когда-то работали на этом самом заводе. Это сказывалось на качестве преподавания. Схемотехнике, физике и математике они учили на вполне достойном уровне, хотя той же схемотехнике мы учились на примере уже давно не существующей советской элементной базе.
Но что касается именно специализированных программистских дисциплин там царил такой же мрак, как и в предыдущем университете, а количество левых предметов и абсурда зашкаливало за любые разумные пределы. Программирование ограничивалось простейшими программами на C, преподавательница предмета "Базы данных" никогда не слышала про существование нереляционных баз, плохо знала устройство реляционных и SQL за пределами простых селектов. Преподавательница психологии выпрашивала взятку за экзамен, преподавательница английского делала ошибки в элементарных словах и грамматических конструкциях, предмет "Основы ведения бизнеса" вела бывшая преподавательница марксизма-ленинизма, и даже существовал предмет "Основы пенсионного обеспечения".
Я чувствовал себя персонажем романа Франца Кафки и продержался в этом университете только два года. И как я знаю, среди всех моих доучившихся до конца и получивших диплом с гордым званием "инженер-программист" одногруппников, всего двое работают по специальности.
Замена формального образования
Реальные знания мне приходилось получать параллельно "учебе" в университете. Основными источниками стали только набирающие в то время популярность Coursera и Udemy.
На Coursera я получил базовые теоретические знания по алгоритмам, структурам данных, функциональному программированию. Особенно я благодарен курсу Мартина Одерски по программированию на Scala. Именно этот курс по-настоящему научил меня писать простой и эффективный код. На Udemy же я приобрел более практические навыки по конкретным языкам и технологиям. Эти два ресурса заменили мне формальное образование и дали знания достаточные для построения успешной карьеры в ИТ.
Бессмысленность и беспощадность провинциального ИТ-образования
Пообщавшись за свою карьеру со множеством коллег из разных городов России, я пришел к выводу, что подобные проблемы существуют почти во всех вузах России. Только в нескольких университетах Москвы и Санкт-Петербурга ситуация с ИТ-образованием неплоха. В среднем же, все ужасно.
Студенты в вузах косят от армии и растягивают детство, чтобы родители отстали и можно было продолжить играть в дотку. Родители заставляют детей идти учиться, потому что "так надо", "без бумажки ты какашка" и "нужен запасной аэродром". Университеты получают деньги от государства за поголовье студентов, ухудшая качество образование в угоду количеству. Преподаватели понимают, что ничего особо не умеют и на рынке труда никому и задаром не нужны, и пропагандируют мифы про "лучшее в мире системное образование". Государству и ресурсно-ориентированной экономике не нужно такое количество людей - наоборот выгодно, чтобы они сидели в вузах и страдали любой фигней, лишь бы не бунтовали. Страдают только действительно желающие получить качественное образование студенты, и работодатели, советующие "подтирать своими дипломами попу" и вынужденные сами обучать азам профессии выпускников университетов.
Колесо бессмысленной и бесполезной машины российского образования крутится и крутится, и особых надежд на улучшение ситуации нет. Большинству участников не выгодно ничего менять. Единственной известной мне более-менее успешной попыткой изменить положение является университет Иннополис, созданный под Казанью на базе американского университета Карнеги-Меллона. Но общего состояния дел это никак не меняет.