849

Как научиться кодить без боли: 3 эффективных способа

Обучение программированию — это долгий и тернистый путь. Преодолеть его получается не у всех, поэтому многие новички так и остаются где-то между «Hello, world!» и первым проектом, так и не добившись желаемого результата. Эта статья для тех, кто обучается IT-профессии сделать этот процесс немного проще.

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

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

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

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

Почему мозг страдает во время обучения

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

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

  • Ребенок видит изображение, после чего сигнал от зрительного центра поступает в память.
  • Из памяти мозг получает информацию, что на картинке нарисовано дерево.
  • Ребенок вспоминает, что при виде похожего предмета родители называли слово «дерево».
  • Мозг малыша анализирует информацию и принимает решение воспроизвести похожие звуки.

  • Включается разговорная моторика и ребенок пытается воспроизвести слово.

Если много раз подряд показывать малышу карточки с изображением разных деревьев, постепенно его мозг приспособится и уменьшит количество шагов для решения задачи. Попросту говоря, визуальный образ свяжется с нужным словом, и процесс произношения будет срабатывать автоматически, с минимальным потреблением энергии: «вижу дерево — говорю дерево». Именно так происходит формирование нейронных связей.

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

Модель Колба: эффективный метод обучения для взрослых

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

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

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

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

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

  1. Вы снимаете первый ролик как получится, пытаясь разобраться самостоятельно, как говорится «по ходу дела».
  2. Если видео получилось, пытаетесь разобраться почему: какие кнопки вы нажимали, что включали, как настраивали объектив и так далее.
  3. Если ролик не вышел, или его качество не соответствует ожиданиям, вы открываете инструкцию и пытаетесь понять, что было сделано не так.
  4. Когда получено достаточно информации, вы пытаетесь перезаписать ролик снова, но уже с учетом знаний, полученных на предыдущих этапах.
Модель Колба

 

Как не утонуть в объеме информации

Метод Колба поможет эффективнее выполнять проекты, получать знания и формировать нужные нейронные связи. Однако программирование — очень объемная сфера, поэтому при его изучении нужен механизм, который поможет не запутаться в колоссальных объемах получаемой информации. Такой механизм существует — это контрольные точки. Двигаясь по ним, вы сможете фиксировать промежуточные результаты и перестанете тратить время на материал, который не приближает вас к цели.

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

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

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

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

Как правильно изучать программирование новичкам

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

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

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

Как начать эффективное обучение с самого начала

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

Также на начальном этапе установите контрольные точки. Вот некоторые из них, которые следует определить в первую очередь:

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

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

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

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

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

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

Вторая причина связана с эффектом Даннинга-Крюгера, в котором говорится, что специалисты с низким уровнем квалификации часто преувеличивают свои знания. 

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

По сравнению с тем, что до этого он вообще ничего не знал о технологиях — это огромный прогресс, из-за чего у него растет уверенность в своей компетенции. Такое состояние называется «Пиком глупости». Человек уверен в своих силах и думает, что уже многое знает, хотя объективно это не так. Спустя какое-то время к нему приходит осознание, что впереди еще много материала, вопросов и ошибок, из-за чего его энтузиазм и мотивация резко снижаются. Этот этап называется «Долиной отчаяния». Если человек сумеет себя преодолеть и продолжит обучение, у него открывается второе дыхание, а учеба вновь начинает приносить удовольствие.

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

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

dunning-kruger-effect-presentation-slide

 

Обучение в SpaceLAB

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