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

Своим опытом делится Лидия Холли, JavaScript-разработчик. Представляем перевод ее статьи для freecodecamp.


Мотивация очень важна в изучении программирования

После того, как я опубликовала свою предыдущую статью о том, как стала 19-летней разработчицей программного обеспечения, сотни людей задавали мне один и тот же вопрос: “Мне понравилась ваша статья и я действительно хочу научиться программировать, но просто не могу сделать первый шаг. Это так подавляет, что я теряю мотивацию”. Я хочу вовлечь в мир технологий как можно больше людей. И я думаю, что очень важно сосредоточиться на людях с сильной мотивацией, которые просто не знают, как это делается.

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

Да, Лидия, это звучит классно, но я думаю, это будет просто еще одна статья, мотивирующая меня на 10 минут, пока я не вернусь опять к просмотру Netflix! Прежде чем начать, я правда хочу, чтобы вы поняли, что если вы хотите самостоятельно научиться программированию и в принципе написанию кода, вы красавчики. Вы уже показали, что думаете на несколько шагов вперед и можете вытолкнуть себя далеко за пределы вашей зоны комфорта, даже если еще и не сделали этого! Если вы можете чувствовать воодушевление по поводу изучения чего-то нового, чего-то, что кажется огромным и непреодолимым, вы определенно будете хорошим разработчиком.

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

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

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

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

Эффективное обращение с новой информацией

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

Вы скоро обнаружите (или можете обнаружить), что есть два вида доступных источников информации: онлайн-курсы и документация по языку. Однако, если вы не супер-человек и не гений, вы просто не запомните всей новой информации всего лишь читая текст или просматривая курсы (особенно с учетом того, что тут действительно очень тяжело сохранять сосредоточенность, ведь, не будем лукавить, они могут быть ужасно скучными). Чувствовать себя потерянным и сбитым с толку при просмотре курсов или чтении документации абсолютно нормально, с этим поначалу сталкивается каждый. Программисты с трудом могут объяснять код людям, которые с ним не знакомы, без использования других туманных и причудливых терминов (ваше здоровье, Stack Overflow!).

Без оглядки на то, насколько вы хороши (по вашему мнению), не пропускайте основы. Всегда начинайте изучение языка сначала и не пропускайте ничего. Основы очень важны, и позже вы пожалеете, что не уделили им внимания! Д, вы всегда можете загуглить эту информацию, но так вы будете более медленным разработчиком. Если вы читаете документацию, начинайте с первой страницы (или с 1.1 во многих случаях) и читайте полностью. Некоторым людям это может показаться напрасной тратой времени, но поверьте, это не так. Уделяйте внимание мелким деталям и вы поблагодарите себя за это позже!

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

Каждые 10 минут или после каждого прочтенного параграфа объясняйте прочитанное своими словами. Это может быть достаточно сложно, но так вы быстро обнаружите, какие части вы еще недостаточно поняли. Учить — лучший способ учиться, даже если вокруг никого нет! Представьте, что вы объясняете кому-то другому, и как только вы обнаружите, что не понимаете определенную часть достаточно хорошо, исследуйте вопрос и запишите ответ! Записывая, вы еще больше думаете над ответом, что облегчает запоминание.

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

Учить других - лучший способ учиться.
К счастью, мне было, кому объяснять всё!

Сохранение мотивации

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

Все любят играть в игры, без разницы, в какие именно. Людям нравится играть, потому что так они получают моментальное удовольствие, они чувствуют, что что-то завершили и после этого чувствуют себя лучше. А это прекрасная формула для мотивации! Я получала тот же эффект, но не играя, а занимаясь написанием кода. И это намного легче, чем вы думаете.

Ставьте маленькие цели

Не потому что вы плевать хотели на продвижение вперед, напротив, потому что для вас это важно. Составляйте список вещей, которые вы хотели бы сделать в течение дня. Возможно, это будет прочтение всего одной страницы или написание 10 строчек кода. Вы почувствуете удовлетворение и будете гораздо более уверены в своем прогрессе, если сможете сказать, что выполнили все дела из своего списка. Потому что «Я сделал все, что наметил на сегодня» звучит гораздо лучше, чем «Я сегодня прошел только 2% курса». К тому же, даже если вы прочли только одну страницу или создали только одно поле ввода, все равно это очень важно. Моментальное удовольствие!

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

Это может показаться трудным, поскольку зачастую улучшения происходят незаметно. Вы не видите свой прогресс, но поверьте мне: каждый день, когда вы пишете код (даже чуть-чуть), вы совершенствуетесь в этом деле. Лучший способ справиться с этой задачей — завести дневничок. Объясните одним предложением, с чем вы боролись в течение дня, и вернитесь к этим записям через месяц. Есть очень большая вероятность, что теперь это вовсе не вызывает у вас затруднений! Таким образом вы увидите, что улучшения у вас есть.

Работайте над собственным проектом, который вам интересен!

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

Осознайте, что вы справляетесь гораздо лучше, чем думаете

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

Не сравнивайте себя с другими.

То, о чем следует помнить всегда

Никогда не сравнивайте себя с другими разработчиками

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

Вы продвигаетесь гораздо быстрее, чем думаете

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

Всем поначалу непросто, вы не одиноки, и это не значит, что вы будете плохим разработчиком

То, как вы чувствуете себя сейчас, совершенно нормально, это просто часть процесса обучения. Вскоре вы оглянетесь на то, через что вам пришлось пройти, и согласитесь со мной!

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

***
Подписывайтесь на наш канал в Telegram!
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх