Трудно поверить, что прошло уже 10 недель нашей 14-недельной стажировки в 8th Light!

К тому времени, когда мы преодолели одно препятствие (иногда это действительно так), сразу же появляется другое, еще раз расширяя мое представление о том, на что я способен. За последний месяц я:

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

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

Интересно, "достаточно ли я хорош" или "достаточно ли я знаю", чтобы стать разработчиком

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

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

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

Как мне запомнить ключевые технические слова и правила?

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

По совету Лорана (одного из наших наставников) я все больше сосредотачивался на том, чтобы «научиться разбираться в вещах, а не просто знатьвещи». Прелесть программирования в настоящее время заключается в том, что на кончиках пальцев доступно так много доступных ресурсов! Google, Stack Overflow, документы MDN, GitHub и документация по программному обеспечению, вероятно, всегда будут моими лучшими друзьями-разработчиками!

Ни один разработчик не является островом!

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

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

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

Важно делать перерывы.

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

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

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

Шивон Бейкер