Я искренне верю, что любой может научиться писать код.

В конце концов, программирование — это навык, и приобретение навыка открыто для всех.

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

Андерс Эрикссон, профессор Университета штата Флорида, ведущий исследователь экспертных исполнителей. Он изучает процесс приобретения навыков и что нужно, чтобы стать экспертом.

За годы исследований он пришел к выводу, что то, что отличает лучших исполнителей от всех остальных, — это количество времени, потраченное на то, что он называет «Умышленная практика».

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

Я полагаю, что основа «Умышленная практики», разработанная доктором Эрикссоном, может помочь людям, обучающимся программированию.

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

Ниже я расскажу о каждом компоненте «Умышленная практики» и о том, как вы можете включить «Обдуманную практику» в свое путешествие по кодированию.

Деконструкция

Первым шагом Умышленной Практики является деконструкция и анализ вашего желаемого навыка.

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

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

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

Большая часть материала в Интернете была создана людьми, которые приложили усилия к деконструкции учебного процесса и перебрали материал.

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

Пролистайте несколько разных сайтов по программированию или прочитайте Оглавление различных книг по программированию. Кроме того, прочитайте несколько блогов (например, lazerg.ru 😊) или спросите мнение друга-разработчика.

Через некоторое время вы получите представление о лучшем пути вперед.

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

Самый эффективный путь к обучению программированию — это пересечение того, что рекомендуют эксперты, и того, что вас интересует.

Не зацикливайтесь на идеальной деконструкции пути становления программистом. Вы никогда не найдете идеально эффективный маршрут.

Лучше сделать небольшое исследование, начать с чего-то и подстраиваться под ход.

Растягивайте цели

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

Растягивающаяся цель — это небольшая задача, которая выталкивает вас за пределы ваших текущих способностей и продвигает вас по разделенному (о чем мы говорили выше) пути обучения.

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

Мы, люди, естественно предпочитаем то, что легко и автоматически.

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

Цель растянутой цели — сознательно вывести себя из зоны комфорта и ждать, пока ваше тело адаптируется.

Хитрость в создании натянутой цели делает задачу сложной, но все же достижимой.

Если цель слишком сложная, вы потеряетесь и не будете знать, как двигаться дальше. Если цель слишком проста, вы не будете развиваться так быстро, как могли бы (или вообще не развивались).

Поиск сладкого места занимает некоторое время

Cосредоточиться

Концентрация является основополагающим компонентом приобретения памяти и навыков.

Когда вы пытаетесь закодировать новую информацию в вашем мозгу, сила кодирования напрямую связана с интенсивностью вашего внимания.

Когда ваш концентрация слабая, новая информация будет менее липкой, что приведет к замедлению обучения и увеличению времени на изучение.

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

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

Хорошая концентрация внимания на обучении означает устранение всех нежелательных отвлекающих факторов.

Есть два типа отвлечений, внутренние и внешние. Уменьшение внешних отвлекающих факторов означает отключение телефона, переход в тихую комнату и / или включение блокировщика сайта на компьютер.

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

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

Улучшение вашей концентрации — непростой процесс. В начале постарайтесь быть полностью сосредоточенным на несколько минут. Со временем медленно набирайте длительность вашего целенаправленного программирования.

Когда вы намеренно практикуете свои навыки программирования, лучше сосредоточиться на 100% в течение более короткого промежутка времени, чем на 70% в течение более длительного промежутка времени.

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

Выполнение

Единственный способ добиться чего-то лучшего — это сделать это на самом деле.

Люди часто путают приобретение знаний с приобретением навыка. Знание полезно, но оно не заменяет попытки что-то предпринять.

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

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

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

Это не всегда легко. Практика чего-то нового нападет на ваше эго и заставит вас чувствовать себя некомпетентным. Вы захотите бросить или вернуться к чему-то более удобному.

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

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

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

Отзыв

Без отзыва невозможно стать лучше.

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

Отзыв — это способ, которым реальность общается с вами. Это позволяет увидеть разрыв между тем, что, как вы думаете, вы знаете, и тем, что вы на самом деле знаете.

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

Самостоятельное изучение требует, чтобы вы сравнили то, что вы пытались, с правильным решением, опубликованным кем-то другим.

Это обычно происходит, когда вы заходите на такие сайты, как StackOverflow или GitHub, чтобы найти ответ на проблему. Отзыв происходит, когда вы обнаруживаете разрыв между вашим ответом и правильным ответом.

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

Вы также можете прочитать чей-то код на Github и сравнить его со своим собственным кодом (или сравнить его с вашим текущим пониманием того, как программировать).

Бен Франклин использовал похожую стратегию, когда улучшал свои навыки письма.

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

Другой способ получить отзыв — позволить более опытному разработчику увидеть и прокомментировать ваш код.

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

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

Одним из моих самых больших сожалений, когда я учился программировать, было то, что я не получил достаточно отзыва. Мой код был беспорядочным, и я тратил много времени на неважные вещи.

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

Думайте об отзывах опытного разработчика как о компасе. Они физически не доставят вас к месту назначения, но позаботятся о том, чтобы вы двигались в правильном направлении.

Повторение

Одного выполнения задания недостаточно.

Наши умы не хранят информацию как компьютеры. Мы склонны забывать новую информацию так же быстро, как мы ее узнаем.

Изучение чего-то нового требует повторения задания несколько раз, прежде чем оно залипает.

Повторение — это сигнал для нашего мозга, что новый фрагмент информации или новое поведение ценно и не должно быть забыто.

Вы сознательно пытаетесь перепрограммировать свой мозг, и ваше тело, естественно, захочет делать то, что вам знакомо.

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

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

4 привычки, которые делают вас неэффективным разработчиком.

20 вещей, которые стоит знать, когда вы начинаете веб-разработку.

Заключение

Процесс приобретения навыка прост, но не легок. Вы ваш самый большой враг в этом процессе.

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

Если вы будете следовать структуре Умышленная практика, я думаю, вы удивите себя той скоростью, с которой начинаете программировать.

About the Author

Ergashev Lazizbek

Добрый день, дорогие мои читатели, позвольте мне рассказать вам немного о себе. Я Лазизбек Эргашев, я веб-разработчик из Узбекистана. В основном я использую laravel/php для бэкэнда и vuejs/javascript для фронтэнда. Основная цель моего блога - поделиться с вами своим опытом и знаниями.

View All Articles