Новое начало, часть 9

НЕДЕЛЯ ЧЕТВЕРТАЯ: ЭТО НИКОГДА НЕ СТАРЕЕТ

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

Создание карты для новой страницы в моем приложении, которая сначала была картой Австралии, а потом — Абракадабра! — он трансформировался, чтобы показать, где это место на самом деле принадлежало!

СООБЩЕНИЯ ОБ ОШИБКАХ МОЙ ДРУГ

Кое-что еще, что помогло, появилось во время моего первого сеанса с моим наставником.

Когда я получил сообщение об ошибке, у меня больше не было автоматической реакции «О, черт!». Вместо этого я посмотрел, что говорится в сообщении, и узнал, что оно не только говорит мне, какая строка моего кода, вероятно, вызывает проблему, но даже дает подсказку о том, в чем проблема. «NoMethodError» означало, что он не смог НАЙТИ ни одного метода, определенного для того, что я просил его сделать. «Неопределенная переменная» означало, что он не мог найти ни одного места, где я сказал ему, что означает эта переменная. И так далее.

РАСПЛАВ!

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

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

Параллельно я начал работать над второй большой задачей, Blur2. Чтобы подготовиться к решению Blur2, мне поручили решить кучу более простых задач по программированию на сайте codewars. Когда я начал рассматривать эти задачи — в конце долгого дня работы над Nomster — я не смог решить НИ ОДНОЙ из них! Я с трудом понял, о чем они вообще просили. Это было нехорошо, потому что у меня было всего два дня до следующей встречи с моим наставником, и я хотел к тому времени продемонстрировать реальный прогресс в Blur2.

Я понял, что, вероятно, «израсходовал» свои творческие способности на один день, и решил сделать что-то более простое: прочитать документацию по инструментам разработчика Google Chrome, чтобы понять, почему код моей панели навигации переопределяется. По крайней мере, я смогу пойти к своему наставнику с ЧЕМ-ТО, чего я достиг.

Оказалось, что это была ошибка. Документация для инструментов разработчика была чрезвычайно сложной. Чем больше я читал о том, что инструменты позволяют веб-разработчикам делать, тем более безнадежным я становился, что я когда-нибудь доберусь до того момента, когда я даже ПОНИМАЮ все эти вещи, не говоря уже о том, чтобы искать инструменты, которые помогут мне СДЕЛАТЬ это.

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

Я привык, что могу научиться делать все, что захочу. Но это чувствовалось по-другому. Глядя на эти вызовы codewars, я НЕ ПОНЯЛ, что делать. Я начал паниковать — новый опыт для меня.

Что, если я не справлюсь с этим? Что, если все время и деньги, которые я вкладывал в это, обернулись бы отсутствием работы инженера-программиста? Что, если бы мне пришлось сдаться? Что подумает моя жена? Как бы я себя чувствовал?

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

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

Так что я остановился на вечер и посмотрел старую видеокассету с Лоуренсом Аравийским. :-)

ХОРОШО, ЧТО Я НАУЧИЛСЯ?

На следующий день я вернулся к codewars и сразу решил одну задачу. Вау! Может быть, я МОГЛА бы сделать это.

Со вторым я увидел, что мне нужно знать, чтобы решить его, и я вспомнил, что узнал об этом во время предварительной работы с Firehose. Но я никак не мог вспомнить, как это работает. Я мог видеть, что, хотя я прошел через шаги, по которым меня вели люди из Firehose, я действительно НЕ УЗНАЛ вещи, которые мне понадобятся, таким образом, чтобы я мог обратиться к ним, когда они мне понадобятся.

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

(Подробнее… нажмите здесь!)