Главная | Все статьи | Код

Как погрузиться глубоко в JavaScript и не сойти с ума?

Время чтения статьи ~3 минуты
Как погрузиться глубоко в JavaScript и не сойти с ума? главное изображение

Меня зовут Кирилл, ещё вчера я учился на Хекслете, а сегодня работаю в «Авито». У нас высокие требования к разработчикам, поэтому я бесконечно занимаюсь самообразованием, а также рассказываю новичкам, как стать классным специалистом и всё время прогрессировать.

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

Не начинайте погружение с You Don't Know JS

Начнём с простого. Всё, что вам нужно знать про логику мира JavaScript для того, чтобы начать погружение — это то, что на обложке культовой книги «Секреты JavaScript ниндзя» изображён самурай.

Тогда я еще не знал этого, поэтому начал изучать дополнительные материалы параллельно с прохождением профессии на Хекслете. На меня свалилась гора информации и много советов из разных источников. Один из советов — изучать You Don't Know JS. Это замечательный источник, но для новичка он практически бесполезен.

Нужно повариться в разработке и иметь опыт написания кода, чтобы понимать суть того, что пишет Кайл Симпсон (Kyle Simpson). Я мучался и читал, дошёл до конца и почти ничего не понял. Спустя год с удовольствием пролистал все части и почерпнул много нового.

Не надо просто читать спецификацию, в этом нет смысла

Ещё один вредный совет звучит так: «Читай спецификацию». Вы же не учитесь дайвингу, когда едва держитесь на воде? Так и в разработке: информация для опытных специалистов не поможет, пока вы не знаете основ.

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

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

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

Приблизить это время поможет книга Secrets Of The JavaScript Ninja. В ней тема асинхронности раскрыта очень глубоко и с примерами. Не лишним будет узнать, как работает Event Loop. Если бы я это сделал немного раньше, было бы легче двигаться вперед.

Пробуйте различные источники и форматы обучения

В какой-то момент мне стало сложнее получать новую информацию из книг, я стал их пролистывать. Тогда финальным рывком в моём обучении стал видеокурс от Кайла Симпсона Deep JavaScript Foundations. С некоторыми взглядами Кайла я не согласен, но нельзя отрицать, что он один из самых мощных JavaScript-разработчиков, которые занимаются обучением.

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

Итого

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

1. Eloquent JavaScript

Написана простым и понятным языком, читается на одном дыхании — отличный кандидат для первой книги.

Eloquent JavaScript


2. Secrets Of The JavaScript Ninja

Здесь уже можно найти больше интересных деталей и подробностей. Очень хорошие примеры.

JavaScript Ninja


3. You Don't Know JS

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

You Don't Know Js


Ну и десерт для самых пытливых умов: видеокурс Кайла Симпсона Deep JavaScript Foundations. После этого этапа, если вы всё ещё настроены нырять вглубь, практически единственным источником становится спецификация, где можно найти ответы на любые вопросы.

Удачи в погружении!

Мой профиль в LinkedIn.

Аватар пользователя Кирилл Самсонов
72
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 25 апреля
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 25 апреля
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время