Обучение программированию - это обучение тому, как учиться

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

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

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

1. Не пытайтесь выучить все

Это самая большая проблема, с которой сталкивается большинство новичков.

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

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

Кроме того, вам нужно глубже вникать во все, что вы изучаете (это может быть язык программирования или технология). Умение упорствовать, когда становится скучно, - вот что делает вас настоящим разработчиком.

2. Сосредоточьтесь на том, чтобы все работало

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

Посмотрите на это так: «Механик не будет тратить свое время на то, чтобы научиться обращаться с гаечным ключом, вместо этого он сосредоточится на отворачивании болта». Я пытаюсь сказать следующее: сосредоточьтесь на создании чего-то.

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

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

3. Примите стратегию обучения

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

Мне потребовалось некоторое время, чтобы понять, что мне подходит. Раньше я сидел и пролистывал учебник около трех часов, а затем еще пять часов тратил на то, чтобы следовать руководству YouTube. Несмотря на то, что мне удалось ухватить несколько штук, я считаю, что это было неэффективно из-за низкой производительности.

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

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

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

4. Техника Помидора.

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

Используя этот метод, вы разбиваете свой рабочий день на 25-минутные отрезки, разделенные пятиминутными перерывами. Эти интервалы называются «помодорами». Примерно через четыре помидора вы сделаете более длительный перерыв, примерно на 15-20 минут.

Когда вы знаете, что у вас есть только 25 минут, чтобы добиться как можно большего прогресса в решении задачи, вы сможете более эффективно распоряжаться временем, что приведет к лучшим результатам и большому опыту. Применение этого к сеансу программирования вам очень поможет. Например, вы можете взять 8-часовой курс по объектно-ориентированному программированию и разделить его с помощью техники Pomodoro с интервалом в 2 дня вместо того, чтобы изучать все сразу.

5. Обучение или повторное объяснение концепции

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

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

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

6. Следите за тем, что вы узнали, включая свои сомнения

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

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

7. Избегайте этих трех вещей

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

8. Отдых и восстановление

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

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

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

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