Простой способ изучить что-то сложное

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

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

В то время как предмет изучения менялся, будь то Javascript, Node и React до Python, Scikit Learn или нейронные сети, мой подход к обучению оставался одинаковым.

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

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

Шаг 1: Используй

Чтобы изучить новую технологию — начинайте использовать ее сразу, до того, как успеете полностью её понять и вникнуть во все нюансы.

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

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

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

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

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

Плюсов здесь больше, чем минусов:

1. Разработка с первого дня

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

2. Пример кода

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

3. Изучение неизученного

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

Список моих первых курсов:

  • Sentdex: Машинное обучение для инвестирования (ML)
  • Egghead.io: Основы React (React.js)
  • Justin Mitchel: Программирования для предпринимателей (Django)

Шаг 2: Разберись

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

На данном этапе у меня пока нет какого-то одного универсального источника для ответов на все вопросы, который я бы мог рекомендовать. В данном случае можно перечислять долго: книги или официальные документы, Stack Overflow и т.д.

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

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

Шаг 3: Создавай

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

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

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

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

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

Другие статьи по теме

Что должен знать программист без профильного образования

Эффективное самообучение в IT-сфере. Что мы делаем не так?

Удачи!

Перевод: Софья Лепёхина

Источник

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Аналитик данных
Екатеринбург, по итогам собеседования
PHP Developer
от 200000 RUB до 270000 RUB
Golang разработчик (middle)
от 230000 RUB до 300000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ