Мастерство не дается легко или в одночасье, но с правильным планом атаки вы можете достичь этого раньше

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

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

(В большинстве случаев. Когда напоминают. Часто. Извините, тренер.)

Но да, мы все закончили как раз вовремя!

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

# 1: перестаньте делать подробные записи

Почему?

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

Но разве рукописные заметки не связаны с лучшими результатами обучения?

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

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

Как?

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

Github Gists
Я заменил связыватель на GitHub gists и сосредоточился на том, чтобы записывать большие концепции, а не тщательно документировать каждую мелочь. Больше не нужно носить с собой ноутбуки. Если у вас есть Интернет, вы можете получить доступ к своим сущностям. Как удобно.

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

Quizlet
Еще один метод, который я использовал для повышения квалификации, - это Quizlet - веб-сайт, на котором вы можете создавать стопки электронных карточек.

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

# 2: Изучите контент небольшими порциями

Почему?

Вы, вероятно, не станете мастером JavaScript, прочитав Красноречивый JavaScript от корки до корки.

Сколько вы действительно сохранили бы и смогли бы использовать? Скорее всего, не много. Если можешь, цвет меня мега впечатлил.

Как?

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

Даже если это так просто, как Hello World, это больше, чем построил парень, все еще читающий всю книгу. Пара моих любимых платформ, на которых можно поиграть с кодом, - это codepen.io и repl.it. Быстрый доступ и не требует настройки.

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

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

# 3: Учись, делая

Почему?

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

Все мы в той или иной форме сталкивались с ложной компетентностью.

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

Время: очень запутанное.

Сара школьного возраста внутренне терпит поражение из-за экзамена по математике. Она думает: «Но я видела, как профессор несколько раз решал эту задачу!»

Ура. Это потому, что она не практиковала эти проблемы и не оценивала свою истинную способность понимать и решать их.

Как?

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

да. Уничтожьте его и повторите все заново.

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

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

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

# 4: напишите свой код от руки

Почему?

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

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

Как?

Напишите это. Где угодно.
Так я узнал React. Один из моих инструкторов (благодарим Дину за то, что она подтолкнула меня к тому, чтобы учиться умнее, а не усерднее) разместил меня у доски и попросил написать компоненты для целого приложения в React.

Для наглядности я поместил имя файла вверху (List.js, App.js, Anxietey.js, вы поняли). Затем я написал весь компонент ниже, точно так же, как в редакторе кода.

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

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

# 5: объясните свой код

Почему?

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

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

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

Как?

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

Например…

Почему мы используем здесь компонент класса вместо функционального компонента?

Что делает это preventDefault ()?

Что произойдет, когда сработает этот onClick ()?

Как данные проходят через мое приложение?

Что выполняет линия X функции X?

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

# 6: Рефакторинг

Почему?

Спросите себя: «Могу ли я провести рефакторинг ?!». Как только у вас что-то получится, постарайтесь сделать его более ясным и лаконичным.

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

Вы хотите, чтобы ваш код читался как картина - он должен рассказывать историю. Вы можете сказать, что происходит и что он делает, глядя на это. Людям нужно будет знать, о чем вы говорите. Они также, вероятно, будут признательны, если вы не будете повторяться (СУХОЙ). Будь простым, глупым (ПОЦЕЛУЙ). *

* Если вы думаете, что я идиот, обещаю, что нет (во всяком случае, не в этой ситуации). Пожалуйста, обратитесь к этой статье. ❤

Как?

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

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

Если вернуться назад и взглянуть на свой код свежим взглядом, это действительно изменит ситуацию - вы увидите то, чего ваше утомленное «я» раньше не замечало. Поверьте мне в этом. Недавно я оглянулся на старый проект и подумал только о том, что… «Эм, извините?»

# 7: научите тому, чему вы научились, кого-то еще

Почему?

Выучите одно, сделайте одно, научите одного.

Это схватка с боссом в обучении.

Вы узнали эту вещь. Вы сделали это. А теперь попробуйте научить этому. Возможность что-то объяснить поможет вам оценить свои знания и определить, что вам нужно проверить.

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

Как?

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

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