Почему высшее образование для программиста — это хорошо
Учеба в вузе развивает мышление. За время обучения вы получите много интересной и разносторонней информации. Правда, в 90% случаев эта информация не пригодится ни в жизни, ни в работе. Зато новые знания развивают мышление и мозг. А одна из главных черт программиста — умение мыслить. Да и на собеседовании будете выглядеть интересным человеком, если много знаете.
Высшее образование дает системность
Благодаря «вышке» вы получите картину профессии в целом. Увидите взаимосвязи с различными областями программирования и разовьете гибкость мышления.
Вуз учит находить информацию
За время студенчества приходится искать сотни материалов для различных работ. И для этого студенты анализируют не только Википедию, но и другие ресурсы, более узкие и часто иностранные. В дальнейшем это поможет находить примеры кода и работать быстрее.
Диплом помогает продвигаться по карьерной лестнице
Наличие высшего образования не гарантирует, что в будущем вы сможете найти работу. Но есть компании, где оно обязательно. Это большие фирмы вроде Google Brain, Deep Mind или OpenAI. Там нужно образование, потому что деятельность связана с наукой.
Без образования сложнее продвигаться по карьерной лестнице, потому что у вас банально может не хватать квалификации.
Учеба дает полезные связи
Пока учишься — общаешься с массой людей, в том числе и с опытными программистами. Если сумеешь им понравится — могут пригласить на работу в свой проект.
Появляются специализированные знания
Преподаватели рассказывают об основах алгоритмизации, высшей математике, теории вероятностей и статистике. Это полезные знания, но программисты-самоучки иногда игнорируют их, так как учить — скучно и долго. А в вузе, если не выучишь — просто не сдашь сессию.
Проблемы университетов
В вузе слишком много теории. На всех специальностях студенты сначала учат общие предметы, в которых много теории. Только на старших курсах круг предметов сужается, а объемы информации растут. В итоге за 4-5 лет студент изучает тысячи страниц учебников, а применить на практике их не может.
Много времени — мало практических навыков
Пункт вытекает из предыдущего. Можно выучить все учебники наизусть и пересказывать их с закрытыми глазами, но не уметь в IT. Дело в том, что теория — это основа. Но если эту основу не практиковать и не применять в жизни — работать над проектами вряд ли получится.
Вуз не дает гарантии работы в будущем
Высшее образование не гарантирует, что вас примут на первом же собеседовании. На практике главное — кейсы. Поэтому фирмам неинтересно, что вы учили. Они просят показать, как вы справляетесь с решением задач.
Нет специализации, в которой хочешь работать
Например, университеты не вводят в программу новые языки программирования Swift, Kotlin, Go, Rust, а продолжают учить старым. В итоге выпускают людей, которые могут решить практические задачи, но старыми методами, которые сейчас не применяются.
Сейчас в технологиях, инструментах и даже в алгоритмах за 3-4 года такой прогресс, какой для наших родителей был за 10-20 лет. Пока учишься 4-5 лет в вузе, к началу карьеры все может поменяться.
Что думают о самоучках опытные разработчики
Разработчик из Аргентины c Reddit-ником jacksonbenete считает, что программисты-самоучки ничем не хуже своих коллег с высшим образованием. Они не должны никому ничего доказывать:
Еще одно мнение высказал на Хабре программист Александр Кузьменко. Он утверждает, без вузовского образования даже лучше.
Примерно так же считает и Andrei Alecsandru Neculai — фрилансер и архитектор ПО с Quora. Вот перевод его комментария:
Советы самоучкам
Совершенствуйте навыки и сосредоточьтесь на процессах. Не нужно вбивать себе мысль: сейчас прочитаю книгу и буду зарабатывать миллионы. Так не получится. Чтобы зарабатывать хорошие деньги — нужно долго учиться и повышать стоимость работ пропорционально навыкам.
Если сразу представлять себе мешок денег, скорее всего, вы выгорите и учиться в IT вам будет не так интересно.
Учитесь искать помощь и советуйтесь с опытными айтишниками. Отличной историей в блоге Free Code Camp поделился еще один разработчик. Когда он только учился программировать, то пытался создать собственное приложение на Android. Но не знал многих вещей и потратил кучу времени на разработку.
Потом он написал другое приложение в качестве домашнего задания и оказалось, что его код — самый длинный из всех. Парень понял, что если бы он посоветовался хоть с одним опытным специалистом, тот помог бы ему уменьшить код и сделать его быстрее.
Создавайте рабочую среду
Учиться нужно в комфортной обстановке. Кофейни не всегда подходят — там обычно шумно и не всегда получается сконцентрироваться. А дома могут отвлекать родные. Но работать можно и там, и там. Главное, чтобы окружение вам не мешало и вы учились. Тогда не придется тратить по несколько часов на информацию, которую можно освоить за час.
Продумайте и спланируйте свой трек
Вы должны изначально понимать, к чему идете. Нет смысла пытаться одновременно развиваться в нескольких направлениях — это долго и дорого. Поэтому изначально определитесь со сферой, в которой хотите работать.
Потом решите с должностью, на которую хотите претендовать. А после — смотрите требования для этой должности и прокачивайте навыки.
Подводя итоги
Если вы самоучка и не хотите тратить время в вузе — это не проблема. Главное, обучаться каждый день и постоянно практиковаться. И не бойтесь ходить на собеседования — там вы получите советы, которые помогут расти дальше.
А если не готовы учить все самостоятельно — совмещайте вуз и самообразование. Так вы получите больше полезной информации и практики. Главное, не опускайте руки.