… Пока вы хотите узнать больше

Под широко обсуждаемой усталостью от JavaScript я чувствую чувство, распространенное среди нас, которые часами печатают на клавиатуре, чтобы все происходило на экране. Забота и беспокойство о том, что наш код достаточно хорош. Приток новых инструментов, стандартов кода и фреймворка кажется утомительным в сочетании с чувством, что все делают это сейчас (новость: нет).

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

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

Я понял. Для веб-разработчика-самоучки, который годами изучал HTML, CSS и PHP в шаблонах Wordpress, рассвет JavaScript казался странным, сложным и, откровенно говоря, утомительным. Я мог использовать jQuery, имея лишь поверхностное представление о том, как он работает. Я действительно не знал, что такое «объект», и меня постоянно смущала идея «обратных вызовов». Я привык к синхронной природе PHP, где я мог следить за потоком кода, как роман. Мой код был некрасивым, но он сделал свою работу.

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

Я даже применил PHP в своей дипломной работе в рамках Цифровые гуманитарные науки и попытался использовать его для анализа тысяч текстов, чтобы что-то сказать о природе концепции духовности ( это не безумие, это гуманитарные науки!). Вскоре я обнаружил, что это не тот инструмент для работы, то есть сообщество PHP-программистов не уделяло много времени решению проблем, с которыми я теперь столкнулся. Сообщество программистов, которое, однако, было в мире Python. Это было, когда мне пришлось изучать Python с нуля, я прошел путь от программиста-подмастерья до начинающего программиста. И, конечно же, обучение через решение реальных проблем приносит больше удовольствия, чем любой онлайн-курс или обучающий веб-портал. Это был прыжок в большую воду, но он продвинул меня дальше в моей диссертации, чем продолжение работы с PHP.

Когда в прошлом году меня наняли дизайнером взаимодействия по программированию в Netlife Research, слухи о React и Angular уже были огромными. По необходимости я был вынужден погрузиться в JavaScript, и React оказался идеальной средой для обучения. Мы выбрали его для проекта клиента, и хотя мы были достаточно свежи в JS-игре, нам удалось решить проблему. Это, конечно, не лучший код, но он выполняет свою работу. В некотором смысле отсутствие опыта работы с React помогло нам сосредоточиться на основных задачах пользователя и решить их прямо перед запуском. Да, сначала казалось неправильным смешивать HTML в JS, но также было хорошо сочетать шаблон с реальными данными, изучая при этом кучу общего JavaScript.

Осознание дряни - признак компетентности

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

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