Найти в Дзене
Technology life

Почему онлайн-курсы не научат вас программировать

Оглавление

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

Почему так получается?

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

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

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

Однако в действительности это не так. Любителям получить результат своего труда "здесь и сейчас" лучше и близко не подходить к профессии программиста. Ни одна серьезная программа (или даже ее часть) не пишется без ошибок с первого раза. Постоянная отладка, тесты, фиксы, проверки - это то, что программисты не любят больше всего и то, что является их основным занятием. «Первый блин комом» - это история не о программистах. У них все «блины комом» - от первого до последнего. Именно здесь от вас будет требоваться настойчивость и чрезвычайное терпение, чтобы довести свой продукт до рабочего состояния.

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

Причина № 1: Искусственная среда программирования

Это та среда, которая онлайн-курсы предоставляют своим студентам для ввода кода. Пользователи обычно пишут код в одной части веб-страницы, а в другой части размещены инструкции, что писать, и подсказки с готовым ответом, если вы где-то не поняли пошаговую инструкцию. Это не настоящее программирования, это просто переписывание готового кода. Поэтому, когда онлайн-курс завершился и пора использовать реальную среду программирования, как, например, Visual Studio, вы чувствуете себя «потерянными». Вы просто привыкли к прежнемей искусственной среде программирования, где были четкие инструкции, что за чем нажимать и писать. И сейчас вы не можете адаптироваться к новой среде.

Я не пытаюсь сказать, что искусственная среда программирования онлайн-курсов - плохая, нет! Они позволяют вам получить опыт в программировании без боли настройки собственной полноценной среды и увидеть результат "здесь и сейчас". Однако, к сожалению, этой боли вам все равно не избежать, и вы ее только откладываете на период прохождения онлайн-курса.

Причина № 2: Избыточное количество инструкций и подсказок

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

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

Причина № 3: Быстрое изучение

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

Совет № 1: Загрузите и установите полноценную среду программирования (IDE)

Настроить - значит не только нажать три кнопки "ОК" подряд и начинать программировать, а именно разобраться с имеющимися инструментами и возможностями вашей IDE, которые затем будут экономить вам не только время и усилия, но и нервы.

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

Совет № 2: Пишите программы с нуля

Вам нужно научиться писать код без помощи извне. Без интернета, ментора, подсказок, инструкций и книг. Никто не говорит о написании библиотек с нуля, однако базовые вещи и задачи вы должны уметь выполнять самостоятельно (например, перевернуть string или реализовать пузырьковую сортировку).

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

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

Совет № 4: Пишите много кода

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

Каждая ваша следующая программа должна быть больше и лучше предыдущей.

Совет № 5: Работайте в паре

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

Вывод

Программирование тяжелое. Действительно тяжелое. И если вы только что прошли онлайн-курс, ваши глаза горят, и вы уже думаете, на что будете тратить заработанные килобаксы, то реалии могут оказаться для вас неприятным сюрпризом. Чтобы этого не произошло, следуйте советам выше и будет вам счастье!