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

Те самые чувства, которые я испытал, когда пытался изучить HTML и CSS более 4 лет назад, были теми же чувствами, которые я испытал в начале своего пути к Ruby. Я боялся, что у меня нет возможности выучить язык программирования, потому что эти навыки были за пределами моих возможностей. Я боялся, что уже слишком поздно пытаться развиваться таким образом. Я боялся, что языки программирования лучше всего изучать в молодом возрасте и что мой мозг с возрастом ожесточается. Я боялся, что, несмотря на маленькие победы, которые я ощущал каждый раз, когда наконец что-то понимал, моих знаний никогда не будет достаточно, и я никогда не смогу бегло говорить на этих новых языках, чтобы по-настоящему практиковать их в реальном мире. Я боялся, что зря трачу время на бесполезное занятие. Тогда я решил, что лучше потратить время на что-то другое; никогда не было ясно, что это было что-то еще.

Как я уже сказал, все те же чувства присутствовали, когда я начал изучать Ruby 8 месяцев назад. Мой муж, всю свою взрослую жизнь проработавший инженером-программистом, был моим наставником и дал мне «Книгу о Ruby» Хью Коллингборна, чтобы направлять мое обучение. Каждый раз, когда я что-то понимала, я чувствовала гордость, но часто мне требовалось много часов, чтобы понять понятия, которые казались моему мужу такими легкомысленными, незначительными или очевидными. Вначале моя невежественная точка зрения все спутала, и я задавал сотни вопросов. Мне нужно было объяснение для каждого нового слова или выражения. Я был тем надоедливым ребенком, который постоянно спрашивал «почему?» Я написал подробные заметки с аннотациями (да, в моих заметках были заметки), и все было закодировано цветом. Кто-то может назвать мой подход академическим, но это был единственный известный мне способ учиться. Это было частью моего процесса.

Я установил GitHub, Sublime и Ubuntu, но навигация по этим различным программным инструментам была пугающей. Из-за моего нежелания применять теорию на практике было трудно вспомнить, что делает каждый инструмент и как они взаимодействуют. Я с трудом мог запомнить названия и сопоставить их со значками, поэтому я прикрепил все к своей панели задач, но все еще дико переключался с одного на другое. Это был недостаток, который временами заставлял меня чувствовать себя безнадежным. Несколько раз за последние несколько месяцев проходила неделя или две, когда я не пытался чему-либо научиться, несмотря на мои намерения заниматься по 2 часа через день. Каждый раз, когда я делал продолжительный перерыв, обычно из-за недисциплинированности и угасающей уверенности, я боялся, что все забуду и мне придется начинать все сначала. Иногда мне приходилось отступать, и хотя я потерял несколько часов на переподготовку, я понимал, что потерплю неудачу только в том случае, если перестану пытаться.

Я начал с Ruby, а позже переключился на JavaScript. Мой муж порекомендовал Ruby, потому что синтаксис был упрощен, и мне было легче переводить мысли в код. После прохождения уроков в The Book of Ruby я репетировал задачи на Leetcode. Было полезно решать проблему за проблемой, сначала с небольшой помощью, а затем в одиночку. В конце концов я стал немного самоуверенным (Ха-ха! Представьте себе!) и захотел начать работать над чем-то более значимым. Я хотел создать сайт. Это было, когда я познакомился с Ruby On Rails и снова начал трястись в ботинках. (Упс!) Я снова почувствовал себя обескураженным, но попытался выстоять. По мере того, как мой муж прорабатывал большую часть шагов, чтобы проиллюстрировать, как все работает, возникли некоторые проблемы, которые я не понимал. Я еще не пересматривал проект, чтобы понять эти проблемы, чтобы эти уроки были извлечены в будущем.

Благодаря настойчивому ремаркетингу рекламодателя и моей склонности ко всему бесплатному к концу октября я подписался на 21-Day Coding Challenge от Lighthouse Labs. Весь вызов был в JavaScript. Примерно в это же время, по воле судьбы, в нижней части моей домашней страницы Google появилось заявление, в котором обещалось, что я смогу бесплатно научиться программировать с помощью Grasshopper. Это также предлагало уроки по JavaScript и тому, как он взаимодействует с HTML и CSS. Таким образом, я перешел с Ruby на JavaScript и выработал новую привычку, практикуя JavaScript 21 день подряд.

После оттачивания моих навыков решения проблем с помощью Leetcode, ежедневные задачи Lighthouse Labs стали выполняться легко, но я столкнулся с небольшим препятствием, поскольку слишком часто вводил синтаксис Ruby, а не JavaScript. На этот раз мне пришлось не забыть объявить свои переменные с помощью let, чтобы заканчивать каждую строку точкой с запятой, использовать круглые и фигурные скобки с моими операторами If…Then…Else и использовать любой правильный синтаксис. при написании циклов For (извините, мне до сих пор иногда приходится обращаться к своей предыдущей работе, чтобы вспомнить, какой синтаксис принадлежит Ruby, а какой — JavaScript.)

Это 21-дневное испытание принесло 21 день победы, уверенности и повторной приверженности обучению программированию. Если было непонятно, позвольте мне прямо заявить, что я очень хочу перейти к следующему делу, завоевать что-то большее и доказать, что у меня все получается. К 7-му дню я купил курс JavaScript на Udemy всего за 12,99 долларов, чтобы мне было чем заняться, как только задание будет выполнено.

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

Мой путь далек от завершения. Мне сказали, что я едва продвинулся в JavaScript, и мне предстоит пройти долгий путь. Тем не менее, это самый значительный вклад в изучение языка программирования, который я когда-либо делал. Я чувствую, как мой разум, когда-то опасавшийся затвердевания, теперь расширяется. Пока я работаю над 46,5 часами (уууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууу из из из из из из изовлек , сколько часов ) содержания курса на JavaScript — The Complete Guide 2020 на Udemy , я уделю время тому , чтобы написать о своем прогрессе . Ведение журнала — это «что-то еще», на что я решил потратить некоторое время в этом уходе, но это дополнение, а не альтернатива.

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