На фоне быстро развивающейся экосистемы, мы, как правило, тратим наше время, испытывая новейшие изобретения и обсуждая их в интернете. Я не говорю, что мы не должны этого делать, но, наверное, мы должны немного замедлиться, и обратить внимание на вещи, которые не слишком изменились: они могли бы отлично улучшить качество и ценность нашей работы, и понимание новых инструментов.
Этот пост включает в себя смесь моего опыта и моих новогодних пожеланий. Я хочу услышать столько же ваших предложений, сколькими я хочу поделиться.
Изучите, как писать читаемый код
Большая часть нашей работы, не написание нового кода, а изменение существующего кода. Это значит, что вы читаете код гораздо чаще, чем пишете его, так что вам нужно оптимизировать свой код для следующего программиста, не для интерпретатора.
Я рекомендую прочитать эти удивительные книги — именно в таком порядке, от самых коротких до самых длинных (прим. названия книг оставлены в оригинале):
- The Art of Readable Code by Dustin Boswell
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Code Complete: A Practical Handbook of Software Construction by Steve McConnell
Изучите JavaScript детальнее
Когда у нас каждую неделю появляется новый новый JavaScript фреймворк, который лучше предыдущего, очень легко потратить большую часть своего времени на изучение фреймворка, а не на изучение самого языка. Если вы используете фреймворк, но не понимаете как он работает, остановитесь, и начните изучать язык до тех пор пока вы не поймете, как работают инструменты, с которыми вы используете.
- A great start is Kyle Simpson’s book series You Don’t Know JavaScriptwhich you can read online for free.
- Eric Elliott has a huge list of JavaScript topics to learn in 2017.
- Henrique Alves has a list of things you should know before using React(actually any framework).
- JavaScript Developers: Watch Your Language by Mike Pennisi — understand TC-39 process for new ECMAScript features.
Изучите фунциональное программирование
Многие годы мы хотели иметь встроенные классы в JavaScript. Сейчас, наконец, они у нас есть, но мы не хотим больше их использовать: функции — это всё чего мы хотим! Мы даже написали HTML используя функции (JSX)
- Functional-Light JavaScript by Kyle Simpson.
- Professor Frisby‘s Mostly adequate guide to functional programming ebook and his free course.
Изучите основы дизайна
Как фронтенд разработчики, мы ближе к пользователям, чем кто-либо другой в команде. Возможно, даже ближе, чем дизайнеры. Но если дизайнер должны проверять каждый пиксель, который вы создаете на экране, значит вы делаете что-то не так.
- Design for Hackers: a book and a free course.
- Design for Non-Designers talk by Tracy Osborn.
- Design of Web Applications by Nathan Barry.
- On Web Typography by Jason Santa Maria.
- The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity by Alan Cooper.
- A few articles on animation in UI: How to Use Animation to Improve UX, Transitional Interfaces.
Научитесь работать с людьми
Некоторые из нас приходят в сферу программирования, потому что предпочитаем взаимодействовать с компьютером больше, чем с людьми. К сожалению, так не бывает.
Мы редко работаем в изоляции: мы должны общаться с другими разработчиками, дизайнерами, менеджерами и иногда даже с пользователями. Это сложно, но очень важно, если вы действительно хотите понимать что вы делаете, и, самое главное, почему. Потому что в этом заложено значение того, что мы делаем.
- Soft Skills: The software developer’s life manual by John Sonmez.
- The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin.
- Start with No: The Negotiating Tools that the Pros Don’t Want You to Knowby Jim Camp.
Научитесь писать для людей
Большая часть общения с нашими коллегами и другими людьми приходится на текстовые сообщения: описание заданий и комментариев, комментарии в коде, Git-коммиты, сообщения в чате, электронная почта, твиты, сообщения в блогах и т.д.
Представьте себе, сколько времени у людей уходит на чтение и понимание всего этого. Если Вы можете сократить это время, написав более четко и лаконично, мир будет лучшим местом для работы.
- On Writing Well: The Classic Guide to Writing Nonfiction by William Zinsser.
- The Elements of Style by William Strunk and E. B. White.
- Orwell’s rules on writing.
- In Russian: awesome Glavred course.
Выучите старую мудрость
Фронтенд разработка на сегодняшний день — это не просто «анимированное выпадающее меню». Это гораздо сложнее, чем раньше, и часть этой пресловутой “усталости от JavaScript” проистекает из возросшей сложности задач, которые нам предстоит решать.
Пришло время, усвоить мудрость, которую сформировали все разработчики в течении многих десятилетий. И здесь я хочу порекомендовать следующее:
- Learn To Think Like A Computer Scientist course at Coursera.
- The five programming books that meant most to me by David Heinemeier Hansson
А что Вы мог ли посоветовать почитать русскоязычному веб-разработчику по данным категориям? Что вы собираетесь изучать в 2017 году?
Перевод статьи «What to learn in 2017 if you’re a frontend developer»
Комментарии
JokHer
01.01.2017
«Научитесь писать для людей» и «Научитесь работать с людьми» актуально не только для 2017 года и не только для фронтендеров.
Nikos Orlov
01.01.2017
Согласен, что фронтенд стал сложнее. Лично я хочу изучить в ближайшие месяцы React.