2017 — год, который фронтенд-разработчики должны посвятить основам
Перевод статьи Артёма Сапегина.
В нашей стремительно развивающейся экосистеме есть тенденция: мы тратим время на изучение последних технологий, а после — на споры о них в интернете.
Я не хочу сказать, что не нужно этого делать, но, похоже, пора сбавить обороты и обратиться к вещам, которые не так сильно и изменились. Это повысит качество нашей работы и поможет осваивать новые инструменты быстрее.
В этой статье—мой опыт и мои пожелания на новый год. И услышать ваши советы я хочу так же, как поделиться своими. Поэтому, буду рад видеть их в комментариях.
Учитесь писать читаемый код
Большая часть нашей работы не в написании нового кода, а в поддержке существующего. Читать код разработчикам приходится чаще, чем писать собственный. Поэтому пишите не для машины, а для разработчика, который будет работать с ним после вас.
Рекомендую эти три великолепные книги — порядке от самой короткой к самой длинной:
- «Читаемый код, или Программирование как искусство» Дастина Босуэлла (оригинал — The Art of Readable Code);
- «Чистый код: создание, анализ и рефакторинг» Роберта Мартина (оригинал — Clean Code: A Handbook of Agile Software Craftsmanship);
- «Совершенный код» Стива Макконнелла (оригинал — Code Complete: A Practical Handbook of Software Construction).
Изучайте глубже JavaScript
Едва ли не каждую неделю появляется JavaScript-фреймворк, который лучше предшественников, и сложно найти время на изучение самого языка, когда вокруг столько нового. Если используете фреймворк, но не понимаете как он работает внутри— остановитесь и начните изучать язык до тех пор пока не поймете принципов работы вспомогательных инструментов.
- Отличный старт — серия книг Кайла Симпсона (Kyle) «Вы не знаете JavaScript» (оригинал — You Don’t Know JavaScrip).
- Темы по JS для изучения в 2017, подборка Эрика Эллиота (Eric Elliott).
- Что нужно знать, прежде чем использовать React (как и любой другой фреймворк) — в статье Энрике Алвеша (Henrique Alves)
- «JavaScript-разработчики, следите за языком» Майка Пенниси — для понимания работы TC39 над новыми возможностями ECMAScript.
Изучайте функциональное программирование
Долгие годы мы мечтали о классах в JavaScript. Теперь они есть, но мы не хотим их использовать. Функции — все, что нам нужно! Даже HTML мы пишем с помощью функций (JSX).
- Functional-Light JavaScript Кайла Симпсона.
- Электронная книга Mostly adequate guide to functional programming и бесплатный онлайн-курс Профессора Фризби.
Изучайте основы дизайна
Фронтендеры находятся ближе к «непосредственным» пользователям, чем остальные члены команды разработки. Возможно даже ближе, чем дизайнеры. Поэтому, если дизайнер вынужден вымерять каждый пиксель на экране, — вы делаете что-то не так.
- «Дизайн для хакеров» — книга и бесплатный курс Дэвида Кадави. (David Kadavy).
- Доклад Трейси Осборн (Tracy Osborn) «Дизайн для недизайнеров».
- «Дизайн веб-приложений» Натана Бэрри (Nathan Barry).
- On Web Typography — книга Джейсона Санта-Мария (Jason Santa Maria).
- «Психбольница в руках пациентов» — книга Алана Купера (оригинал — The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity).
- Несколько материалов по UI: «Как улучшить UX с помощью анимаций», «Переходы в пользовательских интерфейсах».
Учитесь работать с людьми
Некоторые из нас программируют, так как в общении предпочитают машины людям. Но, к сожалению, это так не работает.
Мы не в изоляции: нужно взаимодействовать с другими программистами, дизайнерами, менеджерами, а иногда — и с пользователями. Это не просто, но важно, чтобы действительно понимать, что мы делаем и зачем. Смысл наших усилий именно в этом.
- Книга Джона Сонмеза «Путь программиста» (оригинал — Soft Skills: The software developer’s life manual).
- «Идеальный программист. Как стать профессионалом разработки ПО» Роберта Мартина (оригинал —The Clean Coder: A Code of Conduct for Professional Programmers ).
- «Сначала скажите ‘Нет’. Секреты профессиональных переговорщиков» Джима Кампа (Оригинал — Start with No: The Negotiating Tools that the Pros Don’t Want You to Know).
Учитесь писать для людей
Письменное общение— значительная часть нашего взаимодействия с коллегами и людьми вообще: описание задач и пояснения к ним, комментарии к коду, коммиты в git, сообщения в чатах и мессенджерах, электронные письма, твиты, посты и многое другое.
Представьте, как много времени мы проводим читая и обдумывая прочитанное. Уметь четко и лаконично излагать мысли письменно — значит делать мир чуть лучшим местом для работы.
- «Как писать хорошо. Классическое руководство по созданию нехудожественных текстов» Уильяма Зинсера (оригинал — On Writing Well: The Classic Guide to Writing Nonfiction).
- «Элементы стиля» Уильяма Странка.
- Правила письменной речи Джорджа Оруэлла.
- Продвинутый курс Главреда.
Используйте знания «старой школы»
Фронтенд — уже не только анимированные выпадающие менюшки. Сегодня разработка интерфейсов сложна, как никогда раньше. Пресловутая «усталость от JavaScript» — в том числе результат сложности наших задач.
Пришло время обратиться к знаниям и опыту, накопленным за десятилетия в других областях разработки и программирования. И советы именно на этот счет мне интересно от вас услышать.
Ниже — пара ресурсов, которые со своей стороны могу порекомендовать я:
- «Учитесь мыслить как программист », курс Стэндфордского университета на Coursera.
- Статья Дэвида Ханссона (DHH) «Пять книг по программированию, которые повлияли на меня больше всего».
А вы что посоветуете? Что вы планируете изучать в 2017?
Спасибо Henrique Alves, Nicolás Bevacqua, Alexander Burtsev, Nataliya Karatkova, Oliver Turner, Juho Vepsäläinen и Anton Zhiyanov за их советы и отзывы. Понравившиеся фотографии можно скачать с моего аккаунта на Unplash. Если статья показалась вам интересной, подписывайтесь в Twitter.
Автор Artem Sapegin. Перевод и публикация с разрешения автора.