До 30 ноября

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

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

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

Время чтения статьи ~2 минуты

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

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

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

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

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

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

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

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

Аватар пользователя Арбатский Артём
Арбатский Артём 12 октября 2016
1
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
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 ноября