Как-то так получилось, что я до сих пор не вышел из всех групп, связанных с изучением программирования. И хотя начало уже давно позади, на самом деле я все еще учусь, и не похоже, что я закончу учиться в ближайшее время. Вы никогда не сможете изучить все программирование — знания устаревают довольно быстро и поэтому, нравится вам это или нет, вам нужно обновлять свои навыки хотя бы время от времени.
Один из наиболее часто задаваемых вопросов среди изучающих программирование: «Как я могу мотивировать себя на изучение программирования»?
Вот несколько способов:
Если ваша мотивация в изучении программирования заключается в том, что «очевидно, заработок хороший», вам будет тяжело — либо тебе это нравится, либо нет. Это работа, которая, хотя и может быть связана с сидением целыми днями над четырьмя буквами, требует чертовски много терпения, хладнокровия и настойчивости. Это очень трудозатратно для вашего разума, поэтому многие профессиональные программисты выгорают после нескольких лет работы. Чтобы научиться программированию, оно должно вам нравиться. Даже если вам не нравится процесс кодирования и решения всех головоломок, вам могут понравиться эффекты и возможности, которые дает вам программирование. С первых же дней старайтесь сами делать простые вещи, которые будут вам интересны.
Первым моим «более-менее серьезным» проектом была модификация движка браузерной игры. Я редактировал простые функции и добавлял новые, которые работали точно так же. Благодаря этому у меня была высокая мотивация продолжать учебу, потому что я быстро увидел результаты.
Когда мне было лет 11-12, я решил в будущем стать программистом и попросил у родителей купить мне две книги, по которым я должен был узнать свою будущую профессию. Прошел год, два, три... А я все стоял на том же месте. Я был обескуражен, потому что было слишком много теории, и я совсем ее не понимал. Каждая страница представляла собой новую задачу, а всего их было более 500... Пока я пытался заставить себя выучить теорию, я вообще ничего не понял. К счастью, наконец, решил попробовать проработать и изменить простые примеры. Когда я чего-то не знал, искал решение в интернете. Так я учусь и по сей день.
Практика гораздо интереснее — даже если вы решите пройти курс, попробуйте добавить что-либо самостоятельно. Бездумное переписывание кода вам не поможет, а самостоятельные размышления и попытки модифицировать его должны сохраняться в памяти лучше.
Программирование никогда не было моим любимым занятием в жизни. Не скрою, моим любимым занятием перед компьютером всегда были игры. Я из тех людей, которым игра не надоедает и не надоест. Я действительно мог играть почти все время. И когда у меня был выбор: играть или изучать программирование, я обычно выбирал игру. Завтра научусь, а может быть и послезавтра...
К счастью, в какой-то момент я начал уделять время изучению программирования — решил для себя, что хочу учиться хотя бы полчаса в день, и я буду делать это еще до того, как начну играть в игры. Благодаря этому у меня больше не было проблемы с прокрастинацией и нежеланием. Меня больше не отвлекали другие, более привлекательные занятия, потому что я знал, что здесь и сейчас самое время учиться.
Вы можете поставить себе несколько простых целей и возможных наград. В моем случае хорошо работали игровые сессии, которые я позволял себе только после обучения. Если это сработает для вас, вы также можете попробовать с долгосрочными целями, в моем случае одной из них было выполнение определенного проекта, за который я награждал себя новым геймпадом.
Говорят, что «в группе обучаться лучше». Наверное, не зря. Я замечаю, что в зависимости от того, кем я себя окружаю, мои интересы могут резко меняться. Когда меня в основном окружали мои приятели по играм, все, что у меня было в голове, это игровой опыт и повышение уровня. Но когда я начал знакомиться с людьми, которые также программируют или изучают программирование, у меня появилось гораздо больше мотивации изучить его. Я хотел показывать им некоторые свои проекты и обмениваться опытом. И тогда я учился гораздо лучше.
Тем не менее спустя пять лет активного программирования, я все ещё считаю себя плохим программистом. Когда я вижу, что делают другие, в том числе мои коллеги, мне немного стыдно, что я так сильно отстал. Однако я понимаю, что все-таки добился своей цели — я умею программировать и могу делать с кодом практически все, что захочу. Может быть, не в новейших технологиях, может не с использованием хороших практик как таковых, но, черт возьми, я могу!
Мне не нужно многого для счастья. Конечно, я хотел бы быть лучшим, но я знаю, что программирование меня не настолько заводит, чтобы мне пришлось заставлять себя преследовать эту цель. Я согласен с тем, что я могу, и я принимаю тот факт, что не преуспел на этапе обучения. Возможно, моя предрасположенность была средней.
В любом случае, я очень рад, что вместо того, чтобы ломать голову над тем, почему другие были лучше, я смотрел на себя. Если бы мне пришлось подумать «черт возьми, я никогда не буду таким же спецом» и отпустить эту мысль, сегодня я бы определенно сильно об этом пожалел.
Программирование — почти постоянная проблема. Одним из важнейших навыков хорошего программиста является умение быстро искать информацию, обязательно на английском языке.
Хорошо, через некоторое время вы, вероятно, сможете выбросить большую часть кода из головы, но время от времени я думаю, что все будут попадать на такие сайты, как, например, stackoverflow.com. Даже если вы не можете найти ответ на свою проблему, не бойтесь спрашивать других.
Я знаю, что некоторым из вас может быть стыдно, но что вы действительно можете потерять? Одна из худших вещей, которые могут случиться, это, вероятно, неполучение ответа или, возможно, несколько негативных оценок под виртуальным постом... Однако в лучшем случае кто-то может научить вас чему-то новому и помочь решить проблему. На мой взгляд, оно того стоит...