Как вы относитесь к обучению программированию?

Доставай свой компьютер, набери пару крутых команд. А бам — олицетворение красоты.

Извините, нет.

Процесс затруднен как минимум на 50%, особенно в начале.

Так и должно быть.

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

Научитесь видеть борьбу как путь.

Вы не бежите от ошибок; вы тренируетесь находить их быстрее.

Опытный программист — эффективный детектив ошибок.

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

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

Итак, ваша мантра должна быть:

  • Вы кодируете.
  • Вы отлаживаете.
  • Вы боретесь.
  • Вы преодолеваете.
  • И ты повторяешь.

Если вы вообще не боролись, вы просто играете.

Если вы все время боретесь, то следующий раздел для вас.

Ты не тупой, ты учишься не на том уровне.

Начнем с небольшой аналогии.

Представьте, что вы изучаете английский язык (язык исключений).

Вы начинаете с учебника, который мотивирует вас научиться писать большие слова, такие как СЛОН.

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

Но ты все еще борешься.

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

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

Давайте перенесем это домой в наш мир кодирования.

Некоторые люди обращаются к руководствам для начинающих, чтобы изучить такие фреймворки, как React (ELEPHANT). Затем они понимают, что это бессмысленно, и переходят к изучению JavaScript (ANT). Но это все еще не имеет для них смысла, поэтому они уходят.

Но они просто работают с чем-то слишком продвинутым.

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

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

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

Учитесь с помощью таких инструментов, как:

  • Алиса
  • Царапать
  • Кодовые войны.

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

Опять же, это не имеет ничего общего с эго.

Это ваш учебный путь.

Если вы сначала выучите алфавит, вы обретете уверенность, необходимую для написания ANT, ELEPHANT, а затем и для построения длинных предложений.

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

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

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

Этот метод из исследований в области неврологии. И резюмирую кратко и быстро.

Как это работает:

  • Ты учишь.
  • Отзыв через 48 часов.
  • Затем просмотрите через 72 часа.

Делая это:

  • Вы будете меньше забывать.
  • Соедините новые идеи со старыми; и
  • Сохраняйте больше в долговременной памяти.

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

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

  • Дуолинго использует его.
  • Quizlet принял его.
  • Вы также можете применить его.

1 проект › 10 привет миров

Не зацикливайтесь на hello worlds навсегда.

Я понимаю кайф от выполнения простых упражнений:

# OMG - I can print all day
print “I am awesome”.
print “You’re cool”. 
print “Wait, are we cool?”

Но я должен быть честным с вами, это не поможет.

Возвращаясь к нашей аналогии с МУРАВЕМ, неважно, сколько раз вы переставите слова МУРАВЬЯ, вы никогда не придете к СЛОНУ.

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

«Но я не знаю, какие проекты начать как новичок».

Не беспокойся. Вот два примера:

  • Генератор случайных паролей: создание программы, которая получает от пользователя несколько слов, а затем генерирует случайный пароль, используя эти слова.
  • Конвертер валют: создайте программу, которая конвертирует валюты из одной единицы в другую, например, конвертирует индийскую рупию в доллары, фунты стерлингов в евро и т. д.

Если вы находите это скучным:

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

Мотивация похожа на горячий душ.

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

Но если у вас отключат горячую воду на 2 недели, разве вы не примете душ?

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

Есть много захватывающих дней в программировании; но будут и темные, демотивирующие дни.

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

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

Как? Присоединяйтесь к движению за ответственность, например:

  • 30 дней кода
  • 100DaysOfCode
  • 30DaysOfCodingChallenge

Что-то. Что-либо. Чтобы держать вас подотчетными в дни затишья.

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

Путь обучения бесконечен.

Никто не учит вас, как учиться.

Но это важно, чтобы идти далеко.

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

Когда ты выйдешь на другую сторону, ты выйдешь не просто кодером.

Но как обновленный человек, потому что вы выбрали новый способ обучения и подхода к вещам.

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

Но, в конце концов, это того стоит не только из-за кодирования, но и из-за радости от трансформации себя.

Помните, мяч всегда на вашей стороне…

Спасибо за прочтение — распространите информацию!

Не буду врать, на это ушло много часов.

Если вам понравилось и вы есть в Твиттере, лайкните и ретвитните это, чтобы помочь распространить информацию. Я знаю, это звучит тривиально, но на самом деле это действительно помогает.

Посмотрите другие статьи на LifeTechPsych — возможно, вы найдете что-то еще по душе.

Что дальше?

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

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

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

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