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

Когда я обучаю людей программированию, я нахожу одну важную общую черту среди людей, которым трудно программировать, — неуверенность в себе. В книге «Думай и богатей» Наполеон Хилл писал: «Все, что разум может себе представить и во что он может поверить, он может достичь». Это применимо везде. Если кому-то не хватает уверенности, ему или ей даже после понимания будет трудно двигаться дальше, нехватка уверенности мешает людям работать и удерживает их от первого шага к программированию, которое является самоанализом.

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

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

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

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

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

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

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

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

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