На постсоветском пространстве до сих пор считается, что высшее образование — залог успешной карьеры. Без диплома ты никому не нужен: в старших классах школьникам твердят, что они должны обязательно поступить в университет. Но при этом к высшему образованию тоже немало вопросов. Во многих отраслях, особенно в IT, программы не поспевают за динамично меняющимися технологиями.
Нужен ли диплом о высшем образовании айтишнику? Постараемся разобраться. С одной стороны, институт дает фундаментальные знания высшей математики. Но нужны ли они всем разработчикам? Должен ли человек обязательно учиться в вузе, чтобы успешно работать в IT? Или он может получить образование на курсах, обучаясь онлайн?
Для примера рассмотрим карьеру Python-программиста. Этот язык многие специалисты называют в качестве базового. Его используют для создания интерфейсов и веб-приложений, в работе с базами данных и машинном обучении.
Для того чтобы получить, например, место стажера в IT-компании или претендовать на позицию Junior (младшего программиста), нужно знать язык программирования Python и разбираться в основах направления. Скажем, если вы устраиваетесь программировать базы данных, нужно иметь общее представление о том, какие они бывают. Понимать, какие задачи существуют в этой области и с помощью каких языков их решают.
В вузах Python должны изучать на специальностях «Прикладная информатика», «Прикладная математика» и «Программная инженерия». Но не каждый учебный план включает этот язык. Программы в университетах меняются медленно и долго утверждаются. В них часто включены устаревшие технологии и языки.
Конечно, всем известна по крайней мере одна причина, по которой выпускники школ выбирают поступление в вуз, — отсрочка от службы в армии, но она не является темой статьи. Поэтому будем сравнивать только образовательные процессы.
Первый курс в университете посвящен введению в специальность и теоретическим дисциплинам. Собственно к программированию сразу приступить не удастся. Вы будете продолжать писать небольшие программы на C++, похожие на те, которые делали на уроках информатики в школе. Знания, нужные для того, чтобы зарабатывать программированием, вы получите только на третьем-четвертом курсе. Или придется учиться самостоятельно. В университеты идут за высшей математикой. И действительно, она понадобится тому, кто захочет заниматься машинным обучением и некоторым другими задачами. Но не факт, что нужно потратить на это четыре года. Проще добрать нужные знания, занимаясь с репетитором.
Вы можете не ходить в вуз, не тратить время, а изучить Python на онлайн-курсах. Онлайн-образование учитывает нужды бизнеса и готовит специалистов, которые востребованы в компаниях. Обучение съест меньше времени и денег, если вы будете учиться платно. Последнее особенно актуально, если вы уже использовали возможность учиться бесплатно и должны платить деньги за получение новой профессии.
Можно сравнить создание программ с написанием журнальной статьи. Для репортажа нужен не филолог, который теоретически понимает, как написать яркий текст, а человек, который приедет на место, найдет сюжет и в срок отправить текст в редакцию.
Критерии | Высшее образование | Онлайн |
Срок обучения |
4 года, если обучаться по программе бакалавриата
(2,5 — 3 – для программ второго высшего образования) |
от 1,5 до 4 месяцев в зависимости от количества модулей |
Интенсивность |
от одного до трех семестров (в зависимости от вуза) изучения Python, два раза в неделю. Но большая часть этих занятий — лекции в большой аудитории |
два-три раза в неделю и не менее двух часов самостоятельной работы студента, связь с ментором |
Методики |
куча теории/мало практики |
больше практики |
Какую специальность в итоге получишь? |
инженер-программист инженер-математик |
разработчик Python |
Что будет нужного? |
Курс программирования на Python, защита курсового проекта с созданием собственного программного кода. Основы веб-программирования, баз данных и других областей применения языка. |
Курс программирования на Python, защита проекта. Задачу ставят преподаватели-практики с опытом работы в крупных IT-компаниях. |
Что будет ненужного? |
Изучение предметов, не имеющих непосредственного отношения к программированию: русского языка, охраны труда, физкультуры, истории, экономики, а также устаревших языков программирования. |
Вы сами выбираете дисциплины, поэтому ненужными они могут оказаться, только если вы разочаруетесь в выбранном направлении. |
Стоимость обучения |
Бесплатно, если поступить на бюджет. Или от 50 до 300 тысяч рублей в семестр в зависимости от города, вуза и формы обучения (для Москвы и Санкт-Петербурга). |
От 14 до 25 тысяч рублей за один модуль. Вы можете выбрать начальный или продвинутый курс, в зависимости от вашего текущего уровня. |
Общие плюсы и минусы |
Вуз дает фундаментальные знания математики и хорошую теоретическую базу по программированию. При этом до 25% предметов не имеют непосредственного отношения к выбранной специальности. Преподаватели часто не понимают, как программирование решает бизнес-задачи. Студенты не представляют реальную работу в IT-компании. |
Онлайн-образование — это возможность самому составить траекторию обучения. При поступлении можно проконсультироваться. Назовите цель обучения и вам помогут составить план. На курсах преподают практики, сотрудники компаний. Они делятся со студентами опытом и дают задания на основе реальных кейсов.
Минус — учёба предполагает «голое» программирование. За расширением профессионального кругозора вам придется следить самим. |
Большинство компаний на постсоветском пространстве признают не только дипломы «вышки», но и сертификаты онлайн-курсов. Во-первых, потому что на курсах изучают актуальные версии языков программирования. Во-вторых, потому что курсы заботятся, чтобы выпускной проект мог стать началом портфолио студента. И работодатели могут оценить практические навыки, которые перевешивают «корочку».
Мы взяли интервью у трех программистов-разработчиков, которые пришли в профессию разным путем. Они рассказали, где и какие языки программирования учили, как это повлияло на их карьеру. Дали советы тем, кто учится в вузе или хочет сменить профессию и стать разработчиком.
Вначале, лет 10 назад, я учила HTML и CSS, одно без другого не имело смысла, особенно в современном мире. И не то чтобы в прошлом веке был особый выбор, какой язык изучать. Сайты делали на HTML. Точка.
На карьеру это не повлияло никак. В современном мире можно не знать никакого языка программирования и делать сайты. Для этого придуманы конструкторы сайтов. Я начала работать с ними, и уже потом решила углубиться в программирование. Но, конечно, после изучения этих языков я почувствовала большую уверенность. Мне стало проще искать клиентов, имея в запасе знание языка программирования.
После того как возможности конструктора сайтов перестали меня удовлетворять, я пошла учиться дальше. Сдула пыль со своих знаний HTML, сейчас изучаю Python на онлайн-курсах с акцентом для разработчиков, потому что хочу использовать современные возможности полнее. Ну и быть конкурентоспособной на рынке труда.
Новичкам могу посоветовать изучать не только, и не столько языки программирования, а скорее пойти на курсы веб-дизайна. Делать сайты сейчас можно не будучи программистом, но важно знать, как устроен сайт, из каких частей он состоит, без чего нельзя обойтись, что можно выкинуть, и как вообще должен выглядеть сайт. Но если вы не хотите сами делать внешнюю сторону сайта, найдите себе в партнеры дизайнера. Проще искать заказчиков на проекты «под ключ», чем на «только запрограммирую».
Еще новичкам хочу посоветовать сразу быть готовыми, что треть рабочего времени разработчик в любой области IT будет тратить на обучение. IT — самая динамично развивающаяся область и, чтобы оставаться «в обойме», приходится все время бежать вперед. Так что если вам неинтересно все время развиваться, лучше поискать другую профессию.
Окончил физический факультет. Но 90-е годы были не самым подходящим временем для науки в целом, и для физики, в частности. Поэтому еще студентом начал изучать языки программирования С++, C, Python, Lua, Java. В основном самостоятельно.
Увлекся С++ — изучал его по книгам, на практике, даже однажды писал Бьерну Страуструпу, автору языка C++. Задал вопросы и получил на них ответы — дельные и доброжелательные. Повезло найти работу. Помогло знание английского. Тогда его хорошо знали немногие, а иностранные компании уже пришли на российский рынок. Несколько лет разрабатывал приложения для операционной системы — работал в российско-немецкой компании, потом работал в прикладной сфере, в Лаборатории Касперского.
Язык — живой организм, который требует постоянного изучения, вовлечения, иначе быстро отстанешь от трендов и попадешь в арьергард. Помогает быть в форме как практическая работа, так и обучение. Для этого есть прекрасные онлайн-платформы и курсы. Получать второе образование смысла не видел.
Из важного — нужно читать и смотреть материалы по языку на английском языке, на русском все выходит с опозданием. Главные источники информации — практическое общение с коллегами, экспертами и статьи, конференции на профессиональных ресурсах.
Pascal и С изучал в школе, Java — самостоятельно во время учебы в университете, Коtlin тоже самостоятельно, когда потребовалось на работe.
Java в университете я начал изучать не для работы, а для участия в соревнованиях по программированию. Был выбор между Java и С++, я выбрал Java как язык более широкого назначения. В остальном выбора как такового не было. Я считаю, что изучать общие принципы программирования важнее, чем языки.
Не могу сказать, что знание языков программирования повлияло на мою карьеру. Я устроился на работу стажером, для которого больших знаний не требуется, и уже больше 10 лет работаю в одной компании. Когда мне потребовалось программировать на Kotlin, я освоил его в процессе применения. Думаю, то же самое знание языков можно было получить на курсах, но я не жалею о высшем образовании. Теоретическая база помогает мне искать решения.
Вопрос о совете начинающим гораздо более сложный, чем предыдущие. Двумя предложениями не отделаешься. Люди начинают программировать в разном возрасте и с различным опытом. Обычно под «начинающими» имеют в виду уже взрослых людей, которые хотят сменить род деятельности. Таким людям я, в первую очередь, советую набраться терпения. Считаю, что для того, чтобы устроиться на работу программистом, нужно около двух лет упорного труда. Кроме того, я искренне верю, что работа должна приносить людям удовольствие. Поэтому лучше всего начать с того, чтобы найти ту область, которая действительно нравится. Тогда и обучение будет идти легче, и время, потраченное на обучение, будет в радость.
Как вы видите, опытные разработчики говорят не столько о том, где учиться, сколько о том, что придется приложить много усилий. Независимо от того, где вы получите базовые навыки, придется потратить еще около двух лет на их развитие и совершенствование. Только после этого вы обретете уверенность в себе как в разработчике. Но при этом первую работу можно получить, обладая минимальными знаниями. Так что вопрос о необходимости высшего образования остается открытым. Сегодня это скорее один из многих вариантов получения профессии.