Чем самообучение лучше курсов
Я один из тех людей, кто после окончания государственного образования все свои новые знания приобретал с помощью самообучения. Разработке я также научился благодаря самообучению.
В этой статье мне хотелось бы рассказать, почему не стоит покупать курсы по программированию в тот момент, когда у вас появилось желание стать программистом.
Неточные высказывания
Любой курс по программированию состоит из информации, которая уже есть в открытом доступе в интернете. При этом информация на курсе обычно переформулирована для того, чтобы объяснить сложные вещи более простым языком. Неточность в высказываниях может привести к недопониманию темы у ученика в формате курса.
Ничего не понятно, но мы идем дальше
Помните, как в школе или в университете на лекции у нас спрашивали, всё ли мы поняли?
В этот момент, даже если мы не поняли до конца или не поняли вовсе, то все равно большинство людей отвечали преподавателю, что поняли о чём была речь.
Подобным образом ведут себя и вполне взрослые люди. Многие ученики просто игнорируют ту информацию, которую они не поняли. При этом программа курса идёт дальше.
Главное — услуга за деньги, а не конечные знания и умения
Любой курс в первую очередь это бизнес, и его задача получить от вас деньги и предоставить вам обещанную услугу. Обращаю ваше внимание на то, что предоставить вам услугу по обучению — совершенно не значит научить вас.
Конечно же, многие школы и курсы по программированию предлагают такой сервис, в котором у вас будут домашние задания, личный ментор, который будет вам помогать. Кроме того, во время курса вы проходите программу с целью получения никому не нужного диплома.
А что ещё нужно для эффективного обучения программированию?
Умение решать проблемы
Ценность программиста состоит не в умении писать код, и не в знании всех возможных функций и конструкций языка программирования.
Программистам платят за решение бизнес задач, решение которых, как правило, несёт за собой решение большого списка проблем.
Именно умение решать проблемы и находить ответы на возникающие вопросы является ключевыми навыками любого программиста.
Жизнь после курсов
После окончания курса у вас, конечно же, останется код, который вы написали на уроках, останутся какие-то заметки и возможно даже сложится понимание того, что вы писали и зачем. Но как только вы столкнетесь с другими рабочими задачами, и вам придётся сделать шаг влево или шаг вправо от ваших знаний, вы сразу же столкнетесь с мыслью о том, что вы не понимаете или не знаете как решить поставленную задачу. Более того, вы не будете знать, что можно сделать, чтобы найти решение.
Основное отличие курсов
Отличие курсов от информации в интернете в основном заключается в том, что всю информацию, которую Вам будут преподавать уже структурировали определённым образом. Эта информация будет пропускать многие темы, которые не обязательно понимать в рамках занятия.
Вас словно поведут по пути, держа за руку. При этом вы не учитесь тому, что вы будете делать, оставшись в гордом одиночестве перед вашими рабочими задачами.
Умение решать проблемы
Если вы изначально начинаете погружаться в мир программирования самостоятельно, то вас неизбежно ждёт огромное количество проблем, которые нужно будет непонятно как решать. Именно в этом случае вам просто придётся находить ответы на ваши вопросы самостоятельно. При таком подходе у вас будет развиваться навык поиска информации, который может помочь в решении вашей задачи. Этот навык крайне ценный.
Я прекрасно помню себя в начале своего пути, когда я просто не знал, какими словами нужно написать поисковый запрос, чтобы получить ответ на мой вопрос. Это действительно была проблема.
Начиная свой путь в программировании с прохождения обучения в формате курса, вы лишаете себя возможности получить навыки решения проблем и поиска информации.
Когда нужны курсы
Обучение в формате курса несёт в себе ценность, когда в этом курсе заключена авторская и уникальная информация, которую практически невозможно найти бесплатно в открытом доступе.
Приходя на мастер-класс к определённому стилисту, вы можете научиться его технике работы и в этом есть смысл.
На любом курсе по программированию не будет информации, которую вы бы не смогли самостоятельно найти в интернете.
База знаний
Во время самообучения я рекомендую вести свою базу знаний, которая будет состоять из кратких заметок, чтобы в нужный момент времени вы могли посмотреть свою базу. Конечно же, полностью копировать статьи не нужно (для этого в краткой заметке просто сохраните ссылку на развернутую статью).
На курсах также есть базы знаний? Где-то есть, но вопрос в том, что такая база должна быть индивидуальной и никто кроме вас самих ее не сделает. Точнее никто за вас не сделает базу, которой вы будете пользоваться и которая будет удобна лично для вас.
Нам нужна википедия в голове
Возьмем следующее определение объекта в JavaScript.
Объект — это набор свойств и каждое свойство состоит из имени и значения, ассоциированного с этим именем. Значением свойства может быть функция, которую можно назвать методом объекта. В дополнение к встроенным в браузер объектам, вы можете определить свои собственные объекты.
Ученик полностью не осознает смысл этого определения, пока не найдет ответы на следующие вопросы:
Что такое функция?
Что такое метод объекта?
Чем метод объекта отличается от функции?
Какие у браузера есть встроенные объекты?
Как создать свои объекты?
Зачем нужны свои объекты?
Если это не набор свойств, а одно свойство, то это объект?
Всего 3 предложения, а уже сколько вопросов может возникнуть.
Начнем искать ответы на эти вопросы и будем читать еще больше текста. При этом в голове будет возникать еще большее количество вопросов и непонятных слов.
Получается, чтобы полноценно осознать и понять одну простую тему, нам нужно иметь целый набор знаний по темам, которые с этим связаны.
Обучаясь самостоятельно, вы шаг за шагом можете выстраивать такую вики в своей голове и в своей базе знаний. К сожалению, такого подхода на курсах вы не увидите. Определение объекта вам дадут, а уж что с ним делать будете решать самостоятельно. Да кого я обманываю? Вы просто забудете или проигнорируете все, что вам будет непонятно на курсе.
Есть ли свет в конце туннеля?
Проходя обучение на электрика на определенный разряд, в какой-то момент вы поймете, что знаете все, что нужно знать и уметь для этого разряда. В программировании совершенно не так. То, что нужно знать хорошему программисту больше похоже на бездонную бочку. Только-только вы подтянули одну технологию и тут же оказывается, что появилась технология новее и интереснее. Обучение программированию — это бесконечный процесс. Учиться тоже нужно уметь. Если вы умеете учиться и учиться вам предстоит всегда, то зачем вам на старте нести десятки тысяч рублей за оплату курса, после прохождения которого мастером своего дела вы точно не станете? Если вы не умеете учиться, то самое время научиться. Как правильно учиться — это уже тема для отдельной статьи.
Мотивация
Самостоятельное изучение программирования на старте без вики в своей голове — это процесс очень болезненный. В голове всегда будет мысль, что вы ничего не понимаете. Руки будут опускаться. Это время нужно перетерпеть. Когда знания будут наслаиваться друг на друга вам уже будет гораздо проще осознавать новые темы, особенно если вы научились искать ответы на вопросы.
Многие идут обучаться на курсы, чтобы избавить себя от этой боли на старте. За вас все нашли, за вас все структурировали, за вас все переформулировали простым языком. И пока вы находитесь под крылом вашего ментора или учителя все действительно будет хорошо, но только пока ваш курс не закончится и вы не начнете что-то делать самостоятельно. Вот тут боли будет не меньше.
На мой взгляд, если человек не любит учиться, анализировать и структурировать информацию, находить ответы на вопросы, решать проблемы и вечно страдает от своего непонимания, то такому человеку явно не стоит идти в разработку. Мотивация облегчить вход в IT с помощью курсов может сыграть с вами злую шутку. Вам будет казаться, что все так легко и понятно, пока вы и ваш код не останетесь без присмотра.
Заключение
Я озвучил свои мысли, почему самообучение лучше прохождения платных курсов в начале пути. Конечно же, вы можете быть несогласным и даже отстаивать позицию того, что IT курсы лучшее, что можно было придумать. Давайте обсудим это в комментариях. Я думаю прочитать разные точки зрения будет выгодно тем, кто прямо в этот момент думает оплатить курс по программированию.