HWDTECH
Нужно ли программисту университетское образование?
О том, за что вас могут казнить в Средневековье, почему не надо перезакапывать кладбище и зачем всем нужны истории неуспеха.
25-01-2019
#ПятничныйНаброс
Время чтения: 5 минут
Итак, наброс. Откуда прилетело? Да как всегда — откуда-то из эфира, в данном случае, одного из Телеграм-каналов для разработчиков. Где представитель этой профессии, серьезный человек, между прочим, не особенно выбирая выражения высказался о том, что он-де категорически против получения высшего образования именно в сфере IT.

Чтобы было понятно, о чем речь, приведем вам его высказывание практически дословно (реверансы в угоду русскому языку не считаются:
«В вузе на большинстве специальностей, и на IT в том числе, достаточно приносить свое тело вовремя и тупо слушать и делать, что говорят. В современных компаниях это не ценные качества сотрудника, а наоборот. От тебя ждут, что ты будешь сам во всем разбираться, а не делать по указке, не понимая, что и зачем. Всем нужна инициатива! Человек, который сам выучился, на практике получил базу, а не за партой сидел и получал «высшее образование» по шаблону, получает в итоге больше. И воспринимается как больший молодец. Теория, не важно, понимаешь ты ее или нет, не нужна, если ты ничего руками своими написать не можешь. И если ты сам разобрался во всем, то не будешь никогда ущербным среди тех, кто ходил за дипломом, сам не зная, чего ему надо (и куда потом идти)».
Можно ли считать нежелание учиться и дисциплинировать себя этой самой ущербностью? И стоит ли в вузе тупо слушать или можно нормально учиться? Но это все риторические вопросы. Мы хотим поговорить о другом: почему объективно в IT высшее образование — нужно.
Во-первых, давайте примем как факт, что программирование — это неточная наука.
В сфере точных наук вопрос «Зачем мне учиться?!» не возникает как класс. Трудно представить себе человека, который решил серьезно заниматься математикой и говорит человеческим голосом: «Зачем я пойду в вуз? Я могу математикой и так заниматься!». Даже звучит бредово. Более того, как-то очень спокойно воспринимается обществом то, что если хочешь серьезно заниматься математикой — нужна серьезная подготовка. И не только в хорошем вузе, но и в школе.

Совсем другая картина в инженерных науках. Чем же они отличаются от точных? Здесь вам не тут, здесь часто потребности и задачи, которые приходится решать каждый день, сильно опережают развитие теоретической базы.
Читать еще:
Материалы, которые могут вас заинтересовать.
Научный руководитель столичной Школы системного менеджмента и автор книги «Системное мышление» Анатолий Левенчук привел как-то раз отличный пример на эту тему. Грубо говоря, давайте представим себе некоего средневекового ремесленника, который строит мосты. Зовет его как-то раз к себе король и говорит: «А построй-ка мне, голубчик, мост через вон ту реку». А ремесленник ему и отвечает: «Понимаете, ваше величество, надо еще несколько веков подождать, пока сопромат изобретут. Вот как изобретут сопромат — так сразу!». Что в этом случае с ним сделают? Да просто отрубят голову — и все (чтобы не умничал — прим. авт.). То есть, получается, что нужно строить, нужно выполнять _прямо сейчас_ те задачи, под которые еще не существует теоретической базы.

Ну как тут выкрутиться? В инженерии (а мы надеемся, вы помните, что инженер — это не только тот, кто стоит мосты, но и программист в самом широком смысле) немалую роль играют опыт и практика (это было верно подмечено нашим «виртуальным» оппонентом). Да, действительно, в инженерных специальностях многие проблемы решаются именно опытом, а не теоретическими выкладками. Опытом, добытым практикой.

Но! Программирование существует несколько десятков лет и за это время накопилось очень много «чужого опыта». Весь вопрос в том, пользоваться им или нет.

Практика нужна для чего? Чтобы через ошибки находить свой правильный путь. Но сейчас порог вхождения в нашу профессию увеличился до того, что позволить себе «свободное плавание» в поисках этой самой практики — довольно рискованное дело.
К тому же вместо того, чтобы учиться на своих ошибках, лучше посмотреть, какие ошибки уже были другими сделаны, какие выводы из этого были извлечены — и пользоваться этими рекомендациями.

Это и есть один из главных доводов о том, почему нужно образование. Оно и есть накопленный опыт предыдущих поколений инженеров, который надо получать, не повторяя их ошибок. Опыт, который передается «из поколения в поколение» (хорошо, что не из уст в уста).
Присказка: у каждого врача есть свое маленькое кладбище пациентов. Также и у инженера есть свое маленькое кладбище проектов, задач, которые у него не получились. Но смысл каждому инженеру хоронить одни и те же задачи?!
Как известно, умный учится на чужих ошибках. А необразованный программист — на своих.
Во-вторых, как правило, сегодня разработчик должен разбираться не только в самом своем любимом программировании, но и в какой-то несмежной предметной области.
Порой даже в нескольких, например, медицине, финансах, журналистике, копирайтинге, дизайне и др. И каким-то образом человек должен добывать знания из этих предметных областей.

А если он не смог осилить даже одно образование, то, где гарантия, что он освоит что-то еще, какие-то другие сферы? В данном случае высшее образование выступает неким гарантом того, что человек способен изучать новый материал в концентрированной форме.

Кроме того, умение учиться — и дисциплинировать себя — это для новичков показатель, а сумеешь ли ты себя «построить» для работы. Многие романтизируют свою профессию, и программисты не исключение. Какой же сюрприз ждет всех в итоге, когда оказывается, что на любой работе иногда надо делать то, что не хочется/не нравится, на любой работе иногда нужно действовать в экстремальных условиях, на любой работе придется столкнуться рано или поздно с «тупицами"/будильниками на 7 утра/отсутствием времени на обед.

Да, вуз дает знания и знакомства, но еще и учит выживанию.
В-третьих, происходит подмена понятий.
Знаете, часто говорят: «Он университетов не заканчивал, но у него все в порядке, он уже топ, супер-специалист и все такое прочее». Вот как раз в этом случае понятие успешности человека и его умения выстроить карьеру подменяет понятие профессионализма и состоятельности как специалиста в некой профессиональной сфере.
Замечали парадокс: у нас очень часто ругают начальников за безграмотность, но при этом обожают упоминать людей, не получивших образование, как примеры «молодцов», которые стали начальниками.
Это считается такой классной историей успеха, это транслируется в Сеть в положительном ключе. Если ты стал чем-то руководить и «даже не учился» - ты герой, а если ты получил диплом и после этого стал руководителем – то никакой ты не герой, а обычный человек и вообще, мог бы и получше постараться.
В-четвертых, имеет место такая штука как систематическая ошибка выжившего. Или просто ошибка выжившего, как ее чаще называют.
Ситуация самая что ни на есть хрестоматийная. Человек волею судеб, минуя получение высшего образования, стал программистом. Возможно даже успешным. Теперь он считает, что у каждого это может получиться. И более того — другие, слушая его, начинают считать также, потому что такие люди потом еще и курсы читают и учат других, как это сделать.

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