Недостаточно скопировать код из Google

В своей предыдущей статье я поделился — несколько нерешительно — своим творческим процессом создания бота для Twitter с использованием скрипта Google Apps и JavaScript. Основная причина, по которой я написал эту статью, заключалась в том, чтобы поделиться тем, как можно легко дублировать и настраивать других ботов, созданных из Google Sheets и GAS, без использования чужого приложения.

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

Кодируй как Сократ

Я смог создать тонну кода, используя кусочки, которые я нашел в Интернете, объединив их с достаточным количеством знаний, которые у меня были за годы работы вместе с разработчиками, чтобы создавать код, который работал на языке, которого я не знал. Это был опыт обучения: в этом весь смысл. Но для меня это также был шанс понять, как много еще мне нужно сделать. Это было похоже на разговор с Сократом, когда я объясняю, как можно использовать простую офисную программу для выполнения тяжелой работы в социальных сетях, а он лукаво отвечает «О, но что женужно ливсе это делать?» Типичный Сократ: всегда задает людям вопросы, показывающие, как мало они знают. Однако это был не трюк; самоосознание собственной глупости также было источником его гениальности.

Итак, в истинно сократовском духе я признал, что ничего не знаю о коде. В истинном модернистском духе я намерен это изменить. Сценарий Google Apps научил меня тому, что JavaScript может быть очень интересным. Я видел шумиху вокруг индустрии — и особенно здесь, на Medium — о мощном использовании JS и его производных, поэтому я погружаюсь в них. Я собираюсь с нуля узнать, как на самом деле писать код с нуля, а не просто брать то, что я могу найти в Google. Мало того, я собираюсь узнать, что точно делает этот код. Не только поверхностный уровень — «если вы передадите этот параметр через функцию, бла-бла-бла», — знание, но все тонкости языка и его окружения. У меня уже есть материал для vanilla JS и Node, который станет моей отправной точкой. Как узнаю, напишу. Я всегда обнаруживал, что у меня есть способность объяснять вещи, поэтому, возможно, когда я буду объяснять их вам, я буду объяснять их себе. Это также послужит способом получить обратную связь от людей, которые намного умнее меня. Одной из причин, по которой я снова начал писать на Medium, было то, что я помнил огромное сообщество разработчиков и программистов на сайте. Я надеюсь со временем стать частью этого сообщества и, возможно, внести свой вклад в некоторые из уникальных идей, которые появляются в этом маленьком уголке Интернета.

План

Мой план относительно прост:

Получить базовое понимание синтаксиса и некоторых функций JS.
Это будет сделано с помощью нескольких ресурсов, которые я уже купил: курсы по Udemy, несколько справочников и несколько рекомендуемых YouTube. плейлисты. Я собираюсь посвящать около 10–15 часов в неделю изучению этого материала и пониманию того, как все кусочки головоломки сочетаются друг с другом. Как бы мне ни хотелось посвятить этому больше времени, я работаю полный рабочий день и имею семью, которой я не могу пренебречь ради достижения целей в области развития.

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

Сеть.
Я хочу связаться с онлайн-сообществом разработчиков, а также с моим местным сообществом. Я уже создал учетную запись на GitHub для хранения своего кода. Я налаживаю связи в LinkedIn и буду более активен в таких сообществах, как Stack Overflow. Я не знаю других онлайн-сообществ, которые могут быть полезны начинающим разработчикам, но я всегда открыт для предложений.

Проявите творческий подход.
После того, как я освою основы и создам бог знает сколько различных приложений To-Do, я займусь более сложными проектами. Одна идея, которую я уже обдумывал, имеет отношение к моему нынешнему положению. Я бизнес-аналитик, поэтому во многом занимаюсь сбором требований. Большую часть времени это лихорадочное написание блок-схемы в надежде, что я получу общее представление о том, что ищет бизнес, и вернусь к ней позже, чтобы отшлифовать. Было бы неплохо иметь систему, в которой я мог бы вводить действия и последующие требования, и все они были доступны для подключения и управления. Это было бы довольно сложно, но это, безусловно, то, к чему я мог бы стремиться, постепенно добавляя все больше и больше функций помимо простого приложения To-Do, с которого оно, вероятно, начнется.

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