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

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

Методы обучения

Обычно люди определяют три основные стратегии обучения программированию.

  • самообучение

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

  • наставничество

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

  • курс

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

Проблемы обычных методов

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

  • Самообучение
  1. Трудно построить хорошую программу обучения, составить требования, определить необходимые технологии для обучения и следовать этой программе, если вы знаете только основы программирования.
  2. Трудно писать чистый код, если у вас нет код-ревью.
  3. Если ваша намеченная программа слаба, вы не можете четко ей следовать или у вас нет плана, велика вероятность того, что вы пропустите множество проблем и испытаний. Это может произойти из-за того, что без достаточного опыта сложно решать проблемы. Гораздо проще пропустить эту маленькую фичу, чем исправлять одну ошибку в течение десятков часов.
  • наставничество
  1. Ментор поможет составить программу обучения, а также подобрать технологии, которые вам нужны. Но не каждый наставник хочет и имеет время составить хорошую программу обучения.
  2. Вторая проблема рассеивается
  3. В обычном наставничестве процесс-наставник не будет давать вам задачи и не будет проверять, все ли требования выполнены. Так что проблема с прохождением вышеописанных фьючерсов, которую сложно сделать, осталась.
  • Курсы
  1. Во-первых, каждый курс продает структурированную программу, так что первая проблема теперь не проблема!
  2. У хороших курсов есть хорошие наставники, которые проведут проверку кода и скажут вам, неправильный ли стиль кода или архитектура приложения.
  3. Теперь у нас нет проблем с прохождением выше задач, потому что почти всегда есть четкие требования, которые нельзя пропускать.
  4. Вместо проблемы №3 у нас другая проблема с аналогичными последствиями. Итак, проблема в том, что когда дело доходит до выполнения заданий, решить проблему может быть так просто, потому что вы уже получаете все необходимые знания в начале видеолекции перед практическим заданием. Также многие курсы живут под слоганом «Стань разработчиком легко за 3–4 месяца, мы проведем тебя за ручку и поможем избежать проблем». Люди лучше платят за легкие пути. И это не так. Чтобы стать разработчиком нужно пройти через множество стрессовых ситуаций или быть спокойным и уравновешенным человеком.

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

Наконец, мы здесь!

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

Курсы с наставником без теории

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

Идея

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

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

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

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

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

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

Иногда было бы очень трудно решить проблему, и вы можете потратить до 20 часов, чтобы найти решение, которое уместится в 3 строчках кода, у вас будет стресс, потому что вы сидели перед кодом в течение 10 часов, но это пока не получилось, но результат того стоит!

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

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