Жизнь

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

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

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

— они наслаждаются опытом обучения намного больше;

— они быстрее развиваются;

— они более настойчивы, когда на чем-то застревают, поэтому сдаваться менее легко;

— они более самостоятельны при написании кода.
 

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

Фото: bloomua /Фотобанк Фотодженика

1. Вы не делаете это по правильным причинам

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

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

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

2. Вы не знаете, с какой технологии начинать

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

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

— Если вы хотите создавать приложения для iOS приложения, начинайте с Objective C или Swift.

Если вы хотите создать Android-приложение, начнтие с Java.

— Если вы хотите создать веб-приложение, то ваш выбор — JavaScript.
 

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

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

3. Вы не можете применить изученную теорию и вините себя

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

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

Фото: a_taiga / Фотобанк Фотодженика

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

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

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

Так как практиковать ваши навыки?
 

1) Выберите сложный проект. В идеале это должно быть что-то, что действительно волнует вас.

2) Разделить его на небольшие отдельные задачи. Например, такие как «реализовать страницу авторизации» — слишком большие. Задачи не должны требовать больше, чем 20 строк кода для ее решения. Вот несколько советов, которые помогут вам сделать это успешно:

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

— Задача не должна требовать от вас использования слишком многих теоретических концепций одновременно.

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

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

5) Наконец, вы решили задачу. Однако при решении задач так же существуют препятствия, о которых мы расскажем в следующих пунктах.
 

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

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

Фото: darknula / Фотобанк Фотодженика 

Призываем вас бросить вызов самому себе по следующим вопросам:

Может ли случиться так, что мой код не будет работать? Даже если он не потерпит неудачу сейчас, есть ли что-то в состоянии приложения, что может привести к его поломке? изменяет сейчас, есть ли состояние приложения, что может привести к его поломке?

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

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

Как данный модуль взаимодействует с другими модулями? Он может повлиять на любой из них в плохом смысле? Он может легко использоваться другими модулями?

Тем не менее, часто вы застреваете. По причине…
 

5. Вы не знаете, как подступиться к задаче

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

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

1) Вы недостаточно хорошо знаете теорию:

— синтаксис языка;

— как работает библиотека или API, либо как работает конкретный метод или тип;

— парадигмы программирования (например: асинхронное программирование);

— как работает система (например: запросы http являются важнейшей вещью, в понимании веб-разработки);

В этом случае, просто прочитайте теорию еще раз, или найдите кого-то, кто объяснит тебе.

2) Задача слишком велика и должна быть разбита на более мелкие задачи.

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

6. Вы знаете, как решить задачу, но ваше решение не работает

Это является наиболее распространенной проблемой в программировании. Даже для программистов, которые имеют многолетний опыт работы. Причина, почему ваше решение не работает — скорее всего, ошибка в коде.

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

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

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


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

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

7. Вы не знаете, как получать помощь

«Что вы имеете в виду получить помощь?». Во время обучения кодить или процесса отладки кода, вы обращается ко множеству материалов: книгам, курсам, учебникам, наставникам, сообществам разработчиков.

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

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

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

— попросите человека рассказать вам о своем процессе размышления. Как он нашел решение проблемы? Научитесь применять его самостоятельно в следующий раз.

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

8. Вы не можете применить изученную теорию

«Снова это?». Просто хочется отметить, что эта статья также часть теории. Это не поможет вам, если вы не примените эту теорию, причем не единожды, а несколько раз, пока это не станет рутиной.

 

Программирование — это формирование хороших привычек, чтобы помочь вам отключить себя от любого рода проблем.

 

  • 2659