Что делать если я не понимаю программирование
Перейти к содержимому

Что делать если я не понимаю программирование

  • автор:

Почему изучать программирование так сложно?

Коля был простым «белым воротничком» в офисе и решил, что хочет научиться программировать, поэтому он поспрашивал вокруг с чего начать. Он начал с изучения Ruby, а затем пробежался по другим языкам, таким как Scala, Clojure и Go. Он изучал Emacs, затем Vim и даже раскладку клавиатуры Дворака. Он брался за Linux, баловался Lisp и кодировал на Python, живя в командной строке более полугода.

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

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

Ой. Звучит знакомо?

Этап I. Заботливый Медовый месяц

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

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

С другой стороны движение «Войти в АйТи» проделало фантастическую работу, разрушая барьеры и показывая людям, что код на самом деле совершенно нестрашен. Такие курсы как Яндекс.Практикум и Skillbox самым нежным прикосновением убеждают тебя, что ты тоже (кто угодно!) сможешь не только научиться программировать, но и стать полноценным разработчиком.

Внезапно проблемой стал не страх, а переизбыток надежд и завышенных ожиданий.

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

Растущая уверенность в Заботливый Медовый месяц

Но вот в чём проблема — ты в том, что я называю этапом «Заботливый Медовый месяц». Хотя тебе может казаться, что конец уже за поворотом, ты всего лишь на небольшом участке пути туда. Это всего лишь начало…

Намечая путь к цели

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

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

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

Уверенность в программировании против Способностей

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

Мы рассмотрим особенности оставшихся трёх этапов, вот что они содержат вкратце:

  1. Заботливый Медовый месяц — это весёлая возня с тщательно отполированными источниками, обучающая тебя вещам, которые кажутся сложными, но вполне выполнимыми из-за их интенсивной поддержки. В первую очередь ты изучишь базовый синтаксис, но будешь доволен своими достижениями.
  2. Скала Растерянности — это болезненное осознание того, что становится намного тяжелее, когда забота заканчивается, и кажется, что ты ещё ничего не можешь сделать самостоятельно. Твои основные проблемы — это постоянная отладка и смутное понимание, как задавать правильные вопросы, пробиваясь через очередную проблему.
  3. Пустыня Отчаяния — это долгое одинокое путешествие по бездорожью, где каждое новое направление кажется правильным, но ты часто ходишь по кругу и не хватает сил, чтобы пройти через него. Остерегайся «Миражей Соблазнов», подобных коварным соблазнительницам пустыни, которые сбивают тебя с толку.
  4. Взлёт Напуганного — это когда ты, наконец, нашёл путь через пустыню и собрал воедино понимание того, как создавать приложения. Но твой код по-прежнему разрознен и хрупок как карточный домик. Ты обретаешь уверенность, потому что кажется, что твои сайты работают, ты освоил несколько полезных паттернов, а твои друзья считают твои интерфейсы крутыми, но ты боишься заглянуть под капот и совершенно не знаешь как достичь «готового к использованию в работе» кода. Как преодолеть разрыв, отделяющий от реальной работы?

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

Давай вернёмся к Этапу II…

Этап II: Скала Растерянности

Итак, ты находишься на Этапе I — «Заботливый Медовый месяц» — смотря на свои достижения и выполняя задачки по программированию в то время как твоя уверенность и способности растут. Это не так уж плохо… в чём вообще проблема? Ты прибыл на «Вершину Неразумного Изобилия»…

Осторожнее! Ты вот-вот перешагнёшь в пропасть, разбившую много очень амбициозных учеников и отправила их в лагерь «программирование — это слишком сложно». Именно в тот момент, когда происходит этот скачок, ты впервые садишься за клавиатуру, открываешь текстовый редактор и пытаешься создать проект с нуля без каких-либо модных браузерных редакторов, шаблонов кода или полезных подсказок.

Ты можешь немного растянуть этот этап, следуя инструкциям, но никто никогда не достигал неба, не покидая земли, и в какой-то момент тебе придётся создавать магию из пустого текстового файла. Ты только что перешёл на второй этап обучения, когда уверенность рушится об землю — «Скала Растерянности»:

Теряющаяся уверенность на Скале Растерянности

Итак, ты программируешь. Ты отвоёвываешь и выцарапываешь дорогу к едва рабочему решению, но чего-то не хватает. Ты оказываешься на войне с такими багами (от англ. «жуками»), на фоне которых Звёздный Десант выглядит безобидным. Кажется, что каждая победа была достигнута лишь благодаря удачному гуглению, а твоя уверенность в том, что ты вообще когда-то разберёшься в этом резко падает.

Бааааааааг!

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

Когда учеников перестают водить за ручку и сталкивают со скалы с криком «лети», слишком много ранее отлично смотревшихся людей падают по спирали на камни разочарования, так и не научившись махать крыльями.

Ужас в том, что ты даже не добрался до основной части. Второй этап, Скала Растерянности, только начинается. Лишь только после того, как ты, наконец, устранил достаточно багов, чтобы положить конец восьмой казни в Египте, и реально завершил пару проектов — тем самым отметив конец Этапу II — ты всё ещё начинаешь.

Для тех, кто после этого действительно готов строить карьеру, выживание на Скале Растерянности часто является моментом, когда ты решаешь пойти ва-банк в своей новой жизни. Но слишком многие остались позади. И, к сожалению, ты только входишь в «Пустыню Отчаяния».

Два ключевых фактора

Так что же на самом деле отличает один этап от другого? Почему Этап II (Скала Растерянности) была такой ужасной по сравнению с Этапом I (Заботливый Медовый месяц)? Понимание этого поможет тебе осознать, что это вообще не твоя вина, что твой путь выглядит как мы только что описали.

По сути, на каждом этапе действуют две ключевые силы — Плотность Источников и Сфера Знаний. Давай разберёмся, что это перед тем как смотреть как они определяют Этап III.

Фактор 1. Плотность Источников

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

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

К сожалению, на более поздних этапах плотность источников быстро падает. Любой, кто переходил от новичка к среднему уровню может подтвердить, что существует БОЛЬШАЯ разница между количеством доступных источников когда только начинаешь и когда впервые ищешь помощь в создании чего-то самостоятельно без особой поддержки за руку.

Эта проблема усугубляется по мере того, как количество знаний быстро увеличивается в переходе на Этап III, и это одна из причин, по которой мы называем этот этап «Пустыней Отчаяния». Как только ты преодолеешь это и начнёшь привыкать к тому, что именно нужно искать, источники вернутся и ты сможешь работать с более техничными инструментами, такими как отраслевые блоги и видео. Частью этого является просто понимание, какие вопросы задавать.

Вот как выглядит Плотность Источников на каждом этапе (большая плотность линий указывает на большее количество источников):

Плотность Источников на каждом Этапе

Фактор 2: Сфера Знаний

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

Сфера Знаний необходимых на каждом Этапе

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

Как только ты отходишь от основ, ты видишь быстрое расширение Сферы Знаний, поскольку тебе нужно начать разбираться в более сложных вещах, таких как понимание ошибок и когда использовать код, который ты знаешь как использовать. Это разные вещи, поскольку нет «правильного» ответа на конкретный вопрос… всё становится размытым.

Когда ты переходишь на третий этап, сфера знаний расширяется. Теперь тебе нужно понять, какие инструменты использовать, какие языки изучать, что лежит в основе компьютерных систем, как писать модульный код, объектно-ориентированный, в хорошем стиле и как попросить о помощи (и это только часть). Каждое посещение Google или Хабр заводит тебя в очередной набор кроличьих нор заваливает новыми вещами, о которых ты не знаешь, но чувствуешь, что должен.

Ты не знаешь о том, что ты чего-то не знаешь.

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

Этап III: Пустыня Отчаяния

Понимая эти факторы, ты сможешь увидеть, что Скала Растерянности является просто поворотной точкой. Боль, вызванная ядовитой смесью быстро растущей Сферы Знаний и падающей Плотности Источников, приводит к тому, что я называю «Пустыней Отчаяния».

По сути, это пустыня, в которой ты знаешь, что где-то есть конец, но не знаешь, как до него добраться:

Пустыня Отчаяния. рассредоточен, рассеян и потерян.

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

Возможно, ты запишешься на пару МООК курсов от Яндекс.Практикума, Степика или Скиллбокса. Или найдёшь учебник, который претендует на то, чтобы пройти весь путь. Ты думал, что усвоил уроки Заботливого Медового месяца, что простых ответов не бывает, но искушение искать спасения слишком велико и ты попадаешься на обещание, что только это приведёт тебя к финишу и ничто иное.

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

Тебе предстоит узнать НАМНОГО больше, чем ты, возможно, ожидал. Даже если ты можешь запустить некоторые приложения, тяжело не чувствовать себя потерянным в великом плане становления настоящим профессионалом. Сложно измерить свой прогресс. Откуда ты знаешь, что нужно изучить и изучаешь ли вообще нужное?

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

Конечно, до сих пор было трудно, но, может быть эти ваши веб-разработки не так уж плохи… Всё налаживается!

Этап IV: Взлёт Напуганного

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

Это «Взлёт напуганного»:

Взлёт Напуганного

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

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

Это биполярный этап. Ты чувствуешь, что половина тебя — пуленепробиваемый разработчик, а другая половина — тонкая оболочка эффективности, прикрывающая новичка с дикими глазами, который слишком глубоко увяз. Чем дальше ты продвигаешься, тем больше нарастает мучительное чувство неуверенности, будто кто-то собирается «расколоть» тебя как мошенника.

Ты чувствуешь, что уже должен быть разработчиком, но расстояние между кодом, который ты пишешь и «профессиональным» кажется огромным как никогда…

В конце концов, однако, ты справишься. Слишком много причин сдаться! Пустыня Отчаяния позади тебя и Скала Растерянности осталась в далёком воспоминании. Ты в итоге, действительно, на взлёте. Ты учишься быстрее и эффективнее, чем когда-либо прежде и, в конце концов, усвоишь достаточно лучших практик, чтобы твои рыхлые знания срослись в набор навыков производственного уровня.

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

Как всё это выглядит

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

Одно дело знать путь, а другое — пройти по нему. Давай начнём с правильной ноги.

Как Справиться и Выжить

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

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

I: Выживание в Заботливый Медовый месяц

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

  1. Начинай пробуя различные источники, чтобы определить, как ты учишься лучше и какие проекты тебе больше всего интересны. Возможно, это короткие задачки, упражнения в браузере или индивидуальное наставничество. Будь открытым ко всему в начале и не обращай внимания на всё, что тебе следовало бы изучить… на этом этапе весь код одинаков.
  2. Затем выбери один источник и придерживайся его, как только понимаешь, что он тебе подходит. Проработай до конца вводный курс, который должен дать тебе все базовые знания, необходимые для написания простых скриптов и приложений. Потом готовься начать программировать самостоятельно.
II: Выживание на Скале Растерянности

Почти каждый столкнётся со Скалой Растерянности, потому что единственный путь стать разработчиком — это, что уж там, разрабатывать. Ты можешь притворяться, что программируешь, регистрируясь на курсах (или уроках, которые выдают себя за «полные» курсы), но ты просто откладываешь неизбежное. Курсы — хороший способ уйти от более сложных вводных предложений, но в какой-то момент тебе придётся отучать себя от успокоительного и встретиться с реальным миром.

Три совета, как перейти к самостоятельному программированию:

  1. Работай с кем-нибудь ещё, даже таким же новичком. Ты удивишься, настолько проще отлаживать невыносимую ошибку, когда у вас две пары глаз.
  2. Читай код других людей, чтобы привыкать к хорошим шаблонам. Пытайся понять, почему автор сделал так, как сделал. Ты бы не пытался стать писателем, не читая книг, не так ли? Не спускай глаз с любых задачек или проектов, для которых другие люди написали решения.
  3. Начинай с малого и постоянно развивайся. Хорошо иметь интересные большие проекты в уме на будущее, но сначала привыкни к отладке и поиску источников для небольших задач. Здесь опыт ничем не заменишь.
III: Выживание в Пустыне Отчаяния

Как только ты привыкнешь к отладке, твоей самой большой проблемой станет поток требуемых знаний и полное непонимание, как это всё изучить… Пустыня Отчаяния. В этой ситуации, то что тебе нужно — это уверенный путь вперёд. Миражи Соблазнов представляют собой все интересные побочные пути, кроличьи норы и схемы быстрого получения навыков, которые в конечном счёте только тратят твоё время.

Итак, ключи к выходу из Пустыни Отчаяния:

  1. Имей чёткую цель того, чего ты хочешь достичь, потому что в противном случае ты, в итоге, будешь гоняться за своим хвостом, изучая все возможные интересные, но бесполезные вещи. Даже если у тебя много времени, не ведись…
  2. Найди чёткий путь, ведущий прямо к поставленной цели и убедись, что он действительно приведёт тебя к ней. Здесь тебе нужно копнуть глубже, чем маркетинговые слоганы и улыбающиеся лица на сайтах курсов или обложках книг, чтобы спросить: «Поможет ли это мне достичь цели, которую я поставил, или нет?»
  3. Фокусируйся и избегай отвлекающих факторов, потому что если ты относишься к тому типу людей, которые заинтересованы в обучении программированию, ты также относишься к тому типу людей, которым интересно изучать множество других замечательных вещей. Когда программирование становится трудным, ты должен быть в состоянии двигаться вперёд, а не просто пробовать следующую крутую вещь.

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

IV: Выживание при Взлёте Напуганного

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

  1. Ищи и следуй лучшим практикам программирования. Ты должен понимать разницу между решением и лучшим решением. Лучшие практики — основное различие между самостоятельным хакерством и созданием качественного кода в реальной работе.
  2. Проверь свои предположения, потому что ты, вероятно, сталкивался с некоторыми зияющими дырами в своих знаниях, о которых ты даже не подозревал. Тебе нужно определить и залатать эти дыры.
  3. Займись непривлекательными навыками, которые редко используются, но очень важны для перехода в профессиональную среду. Это включает в себя такие вещи как: тестирование, моделирование данных, архитектуру и развёртывание, которые действительно легко пройти мимо, но которые абсолютно необходимы для хорошей разработки.

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

Итак…. Можно ли это сделать?

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

  • программирование
  • учебный процесс
  • сложности

10 признаков того, что программирование не для вас

Часто на Reddit или Quora я вижу вопросы “Как понять, что я могу стать хорошим программистом?”. Такие вопросы о программировании часто всплывают, когда люди задумываются о переменах в карьере и хотят знать, что для этого нужно.

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

Ведя курсы по комплексной разработке веб-приложений, я обучал многих “программистов-новичков”. И должен сказать, что редко мне встречались ученики, не способные обучиться программированию. Я считаю, что это базовый навык, как умение читать, писать и считать. Все могут это делать, это одна из способностей человека, но всё же программированию нужно учиться.

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

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

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

1 | Вам не хватает любопытства

Если вам не очень интересны компьютеры и технологии, вам никогда не стать успешным программистом.

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

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

Найдите свои интересы: Спросите себя, действительно ли вас интересует программирование? Если ваш честный ответ “нет”, найдите что-нибудь другое, что будет вам более интересно. Поберегите время и силы. Но если ответ “да”, заставляйте себя постоянно находить что-то новое, чего вы раньше не замечали. Познайте этот огромный океан и погрузитесь ещё глубже.

2 | Вам не хватает самостоятельности и гибкости

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

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

В мире программирования вся необходимая информация находится в волшебном месте, ранее известном как Информационная Супер-Автострада. Это внушительная библиотека с одним огромным входом: Google. Понимание, что вы просто можете ввести что хотите в Google и получить нужную информацию, — ваша первая задача при изучении необходимых для программирования навыков.

Вы должны не только умело пользоваться Google. У всех языков программирования есть документация и инструкции, в которых предельно ясно объясняется, как работает язык. Это как пользоваться словарем — когда вам встречается незнакомое слово, вы ищете его там. Чтение документации — самый быстрый и надежный способ развить навыки программирования. В ней есть буквально всё.

Пользуйтесь ресурсами: Поймите, что вы сами можете найти ответы на все ваши вопросы. Если появился вопрос, заставьте себя поискать в Google, прежде чем спрашивать у кого-либо или искать ответ в документации. Сберегите чужое время для тех моментов, когда, несмотря на все поиски, вы не найдете ответ на ваш вопрос.

3 | Нехватка настойчивости при возникновении проблемы

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

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

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

По моему опыту работы, в классе обычно есть 1–2 ученика, обладающих, похоже, удивительной способностью сталкиваться с большим количеством проблем, чем другие. Часто это просто случайные и скрытые проблемы. Я напоминаю студентам, что чем больше проблем встаёт перед ними, тем больше у них возможностей учиться. Если, решая эти проблемы, они понимают что-то новое, они будут чувствовать себя увереннее, так как решили больше проблем, чем “средний” студент.

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

4 | Вы не чувствуете удовлетворения после решения проблемы.

Если вы не испытываете радости и чувства выполненного долга после решения проблемы, вы никогда не станете успешным программистом.

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

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

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

5 | Вы нетерпеливы при обучении и понимании чего-либо

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

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

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

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

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

6 | Вам лень или сложно думать

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

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

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

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

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

7 | Вы не можете думать самостоятельно

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

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

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

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

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

8 | У вас ограниченное, узкое и беспорядочное мышление

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

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

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

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

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

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

9 | Вы ищете “правильное” решение, не понимая, что есть спектр “хороших” и “плохих” решений

Если для вас цель программирования — это поиск единственно правильного решения, а не нескольких подходящих решений, вы никогда не станете успешным программистом.

Когда мы только начинаем изучать программирование, ученики часто спрашивают, “правильно” ли они всё делают. Ответ на такой вопрос будет: “Когда как”.

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

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

Мыслите творчески: Поймите, что существует множество путей решения проблемы. И со временем, благодаря опыту и знаниям, вы сформируете четкое понимание, какое решение будет лучше других. Понимание общей картины, представление разных вариантов решения и доверие своему внутреннему голосу позволят вам находить подходящие решения, которые будут приносить вам удовольствие.

10 | Вы не уделяете внимания деталям

Если вы игнорируете детали и не замечаете мелочей, вы никогда не станете успешным программистом.

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

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

Говорят, дьявол в деталях. И в программировании это действительно так.

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

Бонус: Вы думаете о бизнесе

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

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

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

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

Вывод

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

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

Как перестать бояться программирования и обрести уверенность в себе. Почти история успеха

Как перестать бояться программирования и обрести уверенность в себе. Почти ис. главное изображение

Думаю, просто меня не смогли достаточно заинтересовать для этого. Страх перед наказанием от родителей (в моем случае бабушки с дедушкой) — мотивация наоборот + обида.

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

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

С 18 лет пошла череда разных работ.

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

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

Меня это немного мотивировало чуть получше понять и узнать, как это вообще работает.

Наткнулся на академию случайно (не буду рекламировать), у них были бесплатные курсы по HTML и CSS. Я, наверное, месяц собирался силами, чтобы начать, в большей степени боролся со страхами «это не мое», «я не смогу», «надо быть математиком»: их там много разных было, и со всеми надо было разобраться.

Страх и привычка бояться — две разные вещи. Привычки могут быть, а страха может уже и не быть.

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

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

Пройдя все курсы с горем пополам, я уже что-то знал про HTML+CSS, курс отличный все такое, встряхнул голову 🙂 но нарисовался вопрос «а что дальше?»

Посмотрел что пишут в интернетах. Говорят — учи JS.

Что такое JS? Как это вообще? А я не смогу! У меня мозг не математика! Надо было математику учить в школе! В общем, страхи вернулись.

И тут я наткнулся на Хекслет. Посмотрел, ознакомился, мотивировался, начал пробовать JS.

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

Вернулся к прежнему курсу, пошел опять туда, где изучал HTML + CSS, решил, что если это зашло, наверное и JS зайдет. Но нет =( Долго терзал себя, сомневался и не знал, что делать.

Решил попробовать PHP-учебник в приложении телефона. и пошло! Я был в шоке, я понял, увидел, осознал. Прошел курс по PHP. Так себе курс, сдал на отлично, но голове какой-то сумбур все равно, а сверху горы непонятного вопрос «а что дальше?».

Дальше я начал изучать более углубленно PHP, старался много практиковаться по урокам в ютубе, сделал пару блогов сам (без фреймворков), чтобы понять, как оно вообще, полез в WordPress, начал делать сайты.

WordPress интересно, но конечно и все такое, но я хотел чего-то еще.

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

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

Попал в студию — это конечно громко сказано, от студии только слово «студия», клепал сайты в билдере на Joomla. Меня хватило на полгода. Там делали все как учили НЕ делать, и я не смог больше терпеть беспредел 🙂

Ушел оттуда, а идти-то некуда, портфолио нет, нифига нет своего. Думаю — надо биржи попробовать, начал постить в разные биржи свои профили и ждать. Пара заказов оттуда пришла, с одним долго работал потом еще, там долгий проект, вечно что-то обновляется/меняется, а другие ребята — студия из Минска. До сих пор заказы от них прилетают время от времени.

И в процессе работы на фрилансе приходилось сталкиваться с JS — как бы я ни старался обходить его стороной, но постоянно натыкался на него. И вот как-то раз я взглянул на JQuery и поймал на мысли, что я понимаю все что там написано, но как. Вдруг! Внезапно! Само!

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

Дальше я начал пытаться изучать JS, так же самостоятельно, и все больше и больше он мне нравился, мне и PHP нравится, но JS больше :Р

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

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

Выбрал курс «Фронтенд-разработчик», в прошлый раз я сдался на теме рекурсии. Сейчас я на 17-м уроке, и рекурсия уже позади. Мне понятен текст, понятно, что говорится в видео, я понимаю задачу, если не понимаю — перечитываю, пока не пойму, рисую схемы на бумаге, если начинаю путаться в шагах задачи или решения.

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

Да, у меня не получается, я могу над задачей день-два думать, у меня слабая теоретическая часть. Приходится совмещать текущую работу (фриланс) — это примерно 2+- часа в день на учебу. Мне сегодня 37, и я рад, что я теперь могу.

А вот собеседований в студии все еще боюсь.

Мораль — если хотите, делайте, забудьте все, что о вас говорили, следуйте своему желанию. Путь может быть долгим (как у меня), может быть быстрым. Возможно, вы сразу будете все понимать, а может быть и нет — и придется сильно постараться, чтобы не уснуть за новой темой от перегрузки (кстати, лучше поспать тогда). Не предавайте себя и свои желания перед страхами. Желание сильнее страхов.

Как не бросить обучение программированию – 7 проверенных способов

Популярность онлайн-обучения растёт, но даже те, кто купили курс, не всегда могут его закончить. Разбираемся, как не бросить обучение.

Всем привет, на связи JavaRush. Мы делаем курсы по Java и нам важно, чтобы люди доучились до конца — а это нетривиальная задача. В конце-концов, в школе нас ничего не отвлекало, но при этом учиться всё равно бывало сложно, а во взрослой жизни стало ещё сложнее — потому что кроме учебы появилась работа и домашние дела. В этой статье мы разберём, что мешает освоить программирование и как не бросить обучение на полпути. Разбираться будем на примере нашего курса, но эти же приёмы можно использовать и для обучения любому другому языку.

P. S. Сохраните статью, чтобы в любой момент вернуть себе утраченную мотивацию 😉

Причина №1. Не могу разобраться самостоятельно

Даже если сначала в онлайн-обучении программированию всё шло гладко (так обычно и бывает с лёгкими темами), с усложнением материала всегда есть вероятность где-то зависнуть. Новичку может быть трудно разобраться в том материале, который опытный программист щелкает, как орешки. Просто потому, что мозг ещё не натренировался мыслить категориями языка программирования.

Что делать?

Для джунов, которые заблудились в дебрях программирования, в сети созданы программистские форумы типа Quora или StackOverflow. Есть и более специализированные ресурсы для «носителей» определённого языка программирования.

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

А те, кто совсем не справляется самостоятельно в изучении программирования, могут дать объявление о поиске ментора или попросить помощи в изучении сложной темы в разделе «Форум».

Причина №2. Долго не вижу результата. Моих навыков никогда не будет хватать, чтобы сделать что-то реальное

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

Но что делать, если как раз с практикой проблемы?

Что делать?

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

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

Причина №3.Не хватает мотивации

Такое случается часто: сначала вы были мотивированы, но потеряли вовлеченность на полпути. Это не означает, что надо всё бросать. Потеря мотивации — обычное дело для длительного обучения. Её можно вернуть.

Что делать?

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

Ещё один способ — придумать стимул. Можно дать себе обещание что-то сделать или купить в случае, если вы пройдёте сложную тему или напишете пробный проект. Сделали — поощрили себя, и можно придумывать новую цель и новый стимул.

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

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

Многих людей в учебе мотивируют «ачивки» за выполненные задачи, и это тоже может помочь не бросить обучение. Именно поэтому на JavaRush за каждую решенную задачу вы получаете награду — несколько единиц «чёрной материи». «Материя» необходима для того, чтобы двигаться дальше – открывать следующие уровни и лекции. Также есть специальные награды за более крупные достижения, которые формируют рейтинг пользователя среди всех студентов курса.

Как не бросить обучение программированию – 7 проверенных способов 1

Причина №4. Прокрастинация

Вместо учебы убираете квартиру или смотрите сериалы (шпилите в игры или что угодно ещё), а учебный проект пишете в последнюю ночь перед дедлайном? Если вы узнали в этом себя, то вас одолела прокрастинация. Кстати, по словам ученых, прокрастинация — это не синоним лени, а скорее откладывание дел до последнего. Зачастую прокрастинацией страдают люди, склонные к перфекционизму. Это можно объяснить тем, что перфекционисты склонны доводить результат до совершенства. Когда ты сам от себя требуешь идеала, облажаться и правда становится страшно.

Что делать?

Не бросить обучение из-за прокрастинации может помочь дробление большого важного дела (например «выучить программирование») на более мелкие («пройти новую тему»).

Ещё один способ — это так называемый «волшебный пендель», то есть регулярные напоминания о том, что пора заниматься. Конечно, мы не могли в требованиях для курса написать «завербовать человека для напоминания» (вместо этого мы добавили менторов :D) и нам нужно было универсальное решение. Так появился «График пинков» на JavaRush: там можно установить уведомления на нужные дни:

Как не бросить обучение программированию – 7 проверенных способов 2

В борьбе с прокрастинацией помогает и определение чекпоинтов: можно выставлять контрольные точки по времени (работать 45 минут, а 15 минут отдыхать) или по задачам (решить 3 задачи, а потом сделать перерыв).

Причина №5. Непонятно, что делать дальше. Нет четкого плана

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

Что делать?

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

Для отслеживания прогресса можно создать документ в Excel, дневник или установить специальные приложения типа Trello, Airtable, Google Keep, Degreed, Diigo, Maketime.

Мы подготовили пример такого плана в Excel:

Как не бросить обучение программированию – 7 проверенных способов 3

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

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

Весь обучающий курс Java разбит на 4 блока-квеста: Java Syntax, Java Core, Java Multithreading и Java Collections. Каждый квест состоит из 10 уровней, а каждый уровень содержит 10–15 лекций и 20–30 практических задач. Такая структура помогает ученикам постепенно двигаться к намеченной цели.

Причина №6. Боязнь неудачи

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

Что делать?

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

Такие истории можно найти на девелоперских форумах и сайтах. В сообществе учеников JavaRush есть раздел «Истории успеха», где ученики и выпускники курса выкладывают свои рассказы. Здесь можно почитать истории тех, кто уже закончил обучение и нашёл работу, и тех, кто ещё учится, но уже достиг значимого прогресса.

А ещё примеры чужих успехов очень помогают вернуть утраченную мотивацию.

Причина №7.Мешает обстановка вокруг. Нет времени

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

Что делать?

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

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

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

Следите за новыми постами по любимым темам

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

Добавить комментарий

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