Высшее образование для программиста: бесполезно или обязательно

Эксперты о том, нужен ли профильный диплом с «вышкой» подростку, решившему затем пойти программистом python+php+css3+JavaScript+html5.

Один из предыдущих постов по исследованию московского рынка специалистов в ИТ- и телеком-области вызвал оживленную дискуссию – нужен или нет профильный диплом с «вышкой». Надеюсь, автору вопроса помогут мнения экспертов.

В школе я начинал изучать программирование с языка Pascal. В университете по программе проходил C/C++, Matlab. По роду деятельности пишу код на Python и C++. На многих вакансиях, где нужно писать, от сотрудника не требуется иметь университетского образования. Например, тот же Google с радостью примет в свои ряды профессионала без диплома вуза. Поэтому, если подросток решил пойти работать программистом, в целом, он может и не получать высшего образования, а взять на себя ответственность развиваться как профессионал. Но есть и другая сторона.

Я когда-то натыкался на такую фразу: «главное, что мне дал колледж, так это понимание, чем я точно не хочу заниматься». Кроме иронии я здесь вижу, что во время глубокого изучения дисциплины, человек начинает понимать все больше ее тонкостей и насколько отталкивающе она может быть сложна. Но, не смотря на это, человек выходит из этой школы со знаниями. Плюс, неполучение высшего образования приводит к эффекту «забыл узнать» – так один из профессоров ВМК МГУ Е.Е. Тыртышников высказывается о непосещенных парах. Всегда лучше хотя бы узнать терминологию, чем просто пройти мимо материала.

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

Эмиль Богомолов

,

Инженер-исследователь в Сколтехе

Я - разработчик с 18-летним стажем. Работал на разных ролях (от разработчика до директора департамента разработки) и в разных сферах ИТ (java, .net, мобильная разработка, ГИС). Смотреть на будущее исключительно стеком «python+php+css3+JavaScript+html5» – недальновидно. Подростку нужно стратегически планировать свое будущее. Для этого нужно понимать, что работать на одной работе и красить кнопки на php может быть скучным занятием всей жизни. Пока подросток найдет свою первую работу, условный php может и вовсе стать FoxPro, который мы учили в университетах 20 лет назад, и с тех пор обитает примерно в той же области мозга, что и Лексикон или дисковый телефон с перфокартами. Чтобы быть уверенным в своей полезности и быть всегда актуальным, нужны знания не только computer science, но и те, которые напрямую осознанно могут не применяться, но расширяют базу человека, раздвигая рамки мышления и возможностей.

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

В нашей реальности диплом – это не только «мамкины капризы», он может потребоваться при дальнейшем карьерном продвижении. Например, при рабочей эмиграции или для случая из разряда «при прочих равных выберут с дипломом». Текущий кадровый голод разработчиков легко допускает отсутствие диплома, но прошлое не гарантирует будущего. Кроме того, при прочих равных, выбор, скорее, будет в пользу человека, который потратил четыре-шесть лет, пройдя по стандартному пути.

Павел Плотников

,

iOS-разработчик компании BestDoctor

У меня 17+ лет опыта создания программных продуктов на различных должностях (разработчик, тимлид, менеджер по продукту, директор по развитию и совладелец стартапа). С 2012 по 2019 годы занимался созданием и развитие региональных и федеральных медицинских информационных систем. Также за спиной 10+ лет погружения в науку о данных и машинное обучение.

Вопрос весьма спорный, и любая точка зрения будет верной. Если говорить прямо - весь мой опыт говорит, что дипломы с постсоветского пространства в сфере ИТ в подавляющем большинстве случаев не нужны. Все что нужно – это страсть к знаниям и постоянному самостоятельному обучению. Современный мир предоставляет неограниченные возможности для этого. Сфера технологий развивается сейчас с такой скоростью, что ни одно образование за ним не успеет.

Я опираюсь на свой опыт как разработчика, так и руководителя. Через собеседования у меня прошли сотни специалистов и, в большинстве случаев, я не спрашивал о наличии диплом, он никогда не был у меня критерием при решении о приеме нового сотрудника. Когда же нужно высшее образование? Есть несколько вариантов, на мой взгляд.

· Первый, когда нет внутренней мотивации и стремления учиться. Высшие учебные заведения могут показать, как правильно искать и обрабатывать информацию, помогут найти подходящую социальную среду для дальнейшего самостоятельного развития.

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

· И, наконец, третий вариант – долгосрочное планирование. Да, во всем мире развивается тренд на снижение необходимости высшего образования в ИТ, но до сих пор встречаются бюрократические моменты, где диплом нужен. Например, различные иммиграционные программы. Тут каждый должен сам для себя решать, стоит ли потраченное время формальной бумаги. За скобками остается случай, когда выбирается научная сфера дальнейшего развития – там до сих пор все закостенело, и без диплома путь будет закрыт практически полностью.

Тарас Баранюк

, Ведущий специалист по анализу данных компании Bidease

У меня большой опыт работы с контейнеризацией, автоматизацией и связанными с ними технологиями, такими как Google Cloud Platform (GCP), Kubernetes, Jenkins, CirclecCI, GitlabCI, Ansible. В 21 веке вся необходимая информация доступна в интернете, а то, чего нет в открытом доступе, всегда можно получить на специализированных форумах/порталах. В крайнем случае, можно пройти курс на какой-либо обучающей платформе, этот сертификат не будет иметь значения, но полученные знания с лихвой компенсируют потраченное время.

Для хорошо самоорганизованных людей диплом, у которых хорошо развит навык самообучения абсолютно излишен. Я знаю множество успешных примеров людей в ИТ-индустрии, которые достигли выдающихся результатов без какого-либо официального образования. Если ты не знаешь, как искать информацию, есть проблемы с дисциплиной, то конечно «вышка» – это твой путь. Как яркий пример – Google объявила о расширении своей программы сертификации навыков, чтобы помочь получить высокооплачиваемую работу в сфере высоких технологий без высшего образования.

Кирилл Казаков

,

Старший DevOps инженер компании Simplinic

0
126 комментариев
Написать комментарий...
Герман Манвелов

Мне кажется, для программирования образование не нужно. Этот инструмент можно и самому освоить, или на курсах. Образование пригодится в какой-то области, только если программировать что-то специфичное в этой области. Например, программировать физические модели с образованием в области физики.

Ответить
Развернуть ветку
Bulat Ziganshin

ну да, если не использовать БД, не писать многопоточные программы и не использовать языки с GC - действительно незачем изучать CS

Ответить
Развернуть ветку
Денис Пешехонов

Ну как раз упомянутые в статье языки обладают очень слабым ООП, отсутствием типов и не особо многопоточны.

Ответить
Развернуть ветку
Bulat Ziganshin

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

PS: 20 лет назад я сам был противником в/о, и даже придумал концепцию "техникумов для дешёвых программистов" - которая сейчас воплотилась в виде всех этих курсов. более того, я подозреваю, что найти вуз с хорошим преподаванием CS почти нереально - да, есть топовые вузы, но в них уже попасть нереально. но вот знания CS я считаю программисту совершенно необходимыми, иначе он так и останется таким кодером-фрилансером

Ответить
Развернуть ветку
Денис Пешехонов

Так я не противник ВО. У меня магистратура питерского Политеха с отличием, и я пишу на C# энтерпрайз системы :) Я высказываюсь конкретно о языках из статьи. Правильно вы всё говорите: если попытаться сделать на питоне или JS что-то серьёзное, будет компот. Поэтому серьёзное на этих языках обычно не делают (а кто делает — тот не прав), и как следствие образование особо не нужно.

Ответить
Развернуть ветку
Bulat Ziganshin

ну так, в результате либо человек всю жизнь будет джуном, либо перейдёт к более серьёзным проектам (неважно на каком языке) и ему таки понадобятся знания CS

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

Ответить
Развернуть ветку
123 комментария
Раскрывать всегда