Чтобы перейти на следующий уровень, давайте сосредоточимся на определенных областях.

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

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

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

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

Давайте посмотрим!

1. Понять простой JavaScript

Как бы просто это ни звучало, на это часто не обращают внимания. Существует огромный контраст между разработчиками, которые могут использовать популярные инструменты и фреймворки, такие как React, Vue и Angular, с одной стороны, и разработчиками, которые знают JavaScript наизусть, с другой.

Очевидно, они не исключают друг друга. Хороший разработчик JavaScript сравнительно легко подберет новые фреймворки. Но наоборот, это может быть неправдой: если вам нравится фреймворк вроде React, вы не обязательно являетесь экспертом по JavaScript.

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

Основные принципы, такие как области действия и закрытия, не должны быть для вас загадкой. То же самое касается сборки мусора, прототипирования и синтаксиса.

Взгляните на следующий код:

Что здесь происходит? Вы знаете? И вы можете объяснить почему? Вы должны и должны знать JavaScript и его синтаксис наизусть.

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

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

2. Прочтите качественный контент

Читаю - не смотрю. Есть причина, по которой ученых и интеллектуалов часто называют книжными червями, а не экранными червями.

Беглый просмотр бесчисленных некачественных руководств и видео далеко не уедет. Чаще всего вы даже не сосредотачиваетесь, когда читаете или смотрите их.

Ад на обучающих курсах - это когда мы заканчиваем обучение с чувством обучения и знаний, только чтобы связать еще одно за первым. Или второй. Или пятый. И если вы осмеливаетесь написать код для себя, вы чувствуете себя подавленным. Вы не знаете, с чего начать или даже что делать. Так, что вы делаете? Еще один урок ". - «Дэвид М.М. на DEV

Можете назвать меня старомодным, но я твердо верю в традиционный носитель, называемый книгами. Они используются на протяжении тысячелетий, и этому есть причина. Я достаточно современен, чтобы признать, что вам физически не обязательно владеть книгой, и существует множество (цифровых) альтернатив для чтения их содержания, но это выходит за рамки моей точки зрения.

Книги - действительно ценный источник информации, независимо от того, как вы их употребляете. Вы не пишете книгу за одну ночь (поверьте мне на слово). Это означает, что автор приложил много усилий для сбора и записи этой информации. То же самое не всегда можно сказать о контенте, который вы бесплатно найдете в Интернете.

Еще одно важное преимущество чтения книги состоит в том, что она требует полного сосредоточения. Когда вы садитесь, открываете (физическую) книгу и начинаете ее читать, это все, что вы делаете. Вы не можете читать книгу и разговаривать с другом или играть с одним из ваших детей одновременно. Что ж, вы могли бы, но тогда вы бы не работали над тем, чтобы стать компетентным разработчиком JavaScript в тот момент ...

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



Секреты JavaScript-ниндзя от Джона Ресига (создателя jQuery и бывшего сотрудника Mozilla) и др. - одна из лучших книг о JavaScript, которые я когда-либо читал. Они никоим образом не спонсируют меня, и приведенная выше ссылка не является партнерской. Я действительно считаю, что это золотая жила. Он лежит на моей книжной полке.

И порой, спустя столько лет, я считаю себя ниндзя.

3. Ознакомьтесь с различными концепциями.

С учетом сказанного, пожалуйста, поиграйте со всеми популярными фреймворками. Список, кажется, меняется день ото дня, но вы не ошибетесь, взглянув на React, Vue, Angular, Gatsby и Next.js и многие другие.

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

Поиграйте, напишите код. Почувствуйте каждого из них и составьте о них мнение, пусть даже поверхностное.

Я не могу сосчитать, сколько раз я брал интервью у потенциальных новых коллег, и на вопрос, почему они, например, предпочитают работать с React, они ответили: «Потому что я читал, что это самый популярный фреймворк на сегодняшний день».
Справедливо. Это могло быть правдой. Или не. Кто знает? Но почему вы думаете, что это популярно и круто? Какие функции вам больше всего нравятся по сравнению с функциями Vue или Angular? Что Next.js лучше React и наоборот?

В девяти случаях из десяти меня встречает тишина. Они даже не пробовали.

Пытаться. Экспериментируйте. Играть. Сформируйте образованное мнение. Ваше мнение. И возьмите их с собой на пути к тому, чтобы стать компетентным разработчиком JavaScript.

4. Понять HTML и CSS.

Я люблю JavaScript. У меня всегда есть. Но не забывайте, что HTML и CSS являются основой Интернета. Строительные блоки. Все, на что вы смотрите, - это элементы HTML с некоторым стилем.

React, Vue, Angular? Какими бы классными они ни были, все они в конце концов «выплевывают» HTML.

Вы не можете игнорировать HTML и CSS или относиться к ним легкомысленно. Я встречал множество разработчиков, которые были очень хорошими разработчиками JavaScript, но мало знали о HTML и CSS. Это проблематично.

Конечно, если вы хотите стать внутренним разработчиком JavaScript, это не будет критично. Но есть вероятность, что вы в конечном итоге создадите веб-сайты и веб-приложения, и тогда потребуется твердое понимание HTML, CSS и JavaScript как трио.

Не стоит недооценивать это. Изучение JavaScript может быть трудным. То же можно сказать и о HTML и CSS.

5. Уважайте старших разработчиков.

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

Скорее всего, нет.

Когда вы, будучи младшим, разговариваете со старшим разработчиком, вам не следует делать ничего, кроме как усваивать их мнение. Слушай и учись. В конце концов, вы разговариваете с человеком, который уже много лет выполняет вашу работу. Они были там и все это видели. И хотя это может повредить вашему эго, у них гораздо больше знаний и навыков, чем у вас.

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

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

Наставники и коллеги - прекрасный источник информации для начинающих разработчиков. Относитесь к ним как к таковым.

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



6. Будьте любопытными, исследуйте и приобретайте знания

Это должно быть чертой личности №1 каждого серьезного разработчика JavaScript.

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

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

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

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

7. Напишите код и напишите еще

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

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

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

Заключение

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

То же самое и с тем, чтобы быть одним. Наш мир динамичен и постоянно меняется, и мы должны не отставать.

И мне это нравится - по крайней мере, большую часть времени:



Спасибо за прочтение!