Все статьи | Код

Эдди Османи о том, как изучать современный JavaScript

Несколько дней назад вышла юмористическая (но наполненная болью и страданиями автора) статья “На что похоже изучение JavaScript в 2016г.”

В одном из комментариев к статье засветился сам Addy Osmani, один из ведущих JavaScript разработчиков в мире. Далее идет текст его ответа в вольном переводе:

Я полностью понимаю ваше отчаяние :)

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

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

Мы не хотим признавать, что овладение основами чего-то нового требует времени, упражнений и определенного навыка. Новички не должны чувствовать себя лузерами, потому что не используют наимоднейшую библиотеку дня или самый крутой реактивный паттерн на этой неделе. На то чтобы как следует понять Babel и React у меня ушли недели. Еще больше времени мне потребовалось, чтобы нормально разобраться в изоморфном JS, WebPack и остальных библиотеках из этой области. Начните с простого, потом развивайтесь дальше на базе этого фундамента.

Потом сделай это правильно. Работай по итерациям. Улучшай то, что у тебя уже есть. Заметил проблему, которая пришлось решать уже несколько раз? Возможно, стоит включить в проект небольшую библиотеку/модуль, которая с этим поможет. Совершенно нет причин думать о том, чтобы переписать ваш проект на каком-то другом языке или добавить какие-то инструменты, если это никак не поможет движению проекта вперед. Все, что вы добавляете в проект должно по-настоящему добавлять ценность. Если это только усложняет проект или делает завершение проекта труднее для вас и вашей команды, то избавьтесь от этого.

Затем сделай это лучше: оттачивай свое ремесло. Как только тебе станет комфортно ориентироваться во множестве инструментов и библиотек, о которых ты знаешь наверняка, что они приносят пользу твоей работе, ты обнаружишь, что используешь их по умолчанию, потому что в этом есть смысл. Я постоянно использую в своем проекте около 9-10 инструментов, но я знаю о них достаточно, чтобы избегать их “острых углов”, так чтобы эти инструменты действительно экономили мое время. Я бы никогда не посоветовал новичку с ходу использовать большинство инструментов из этого поста. Это может принести только боль. Вместо этого, изучите как следует основы. Постепенно познакомьтесь с инструментами, которые на самом деле приносят пользу, а потом используйте то, что помогает вам стать и оставаться эффективным. Еще стоит заметить, что все, даже люди, которые пишут упомянутые библиотеки и инструменты, проходят через те же самые чувства усталости и отчаяния, когда изучают, дебажат и пытаются остаться в курсе дел современного JavaScript. Поэтому хочу напомнить ребятам, что мы все в одной лодке и наши инструменты предназначены для того, чтобы нам помогать. Если они этого не делают, мы должны от них избавляться :)

Аватар пользователя Арбатский Артём
Арбатский Артём 12 октября 2016
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев