До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

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

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

Время чтения статьи ~3 минуты 72
Как погрузиться глубоко в 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
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября