Недавно на Reddit появился вопрос о том, какие 10 вещей должен знать каждый, кто претендует на должность серьезного JavaScript разработчика.
Мы публикуем перевод лучшего ответа, автор которого привел емкую и краткую подборку первостепенных знаний JavaScript-разработчика.
Память
Если вы не имеете представления об использовании памяти, можете считать, что вы не владеете языком по-настоящему. Это самый важный пункт, на который нельзя не обратить особое внимание.
Архитектура
Вам не обязательно быть экспертом в этом деле, но если вы не в состоянии сложить кусочки паззла в единое целое, не нагромождая множество тяжеловесных слоев из всевозможных инструментов, то вы просто самозванец. Никого не впечатлит, если вы ожидаете, что IDE сделает за вас всю грязную работу.
DOM
Обычно разработчики бегут от использования DOM, прячась за слоями абстракции и другим никому не нужным фарсом. QuerySelector-ы — хорошая штука, но они более чем две тысячи раз медленнее стандартных методов DOM. Эти методы очень просты, но требуют осторожного обращения.
Node.js
Если вы претендуете на звание серьезного разработчика, то должны иметь четкое представление о работе с файловой системой.
Синхронизация и асинхронные операции'
События, таймеры, запросы асинхронны и существуют одновременно и в Node, и в браузере. Вы должны понимать принцип работы с коллбэками и промисами.
Удобство
Взаимодействие с элементами интерфейса, реализуемое стандартными средствами JavaScript, может накладывать определенные ограничения. Серьезный разработчик должен быть знаком с WCAG 2.0 и знать, как работать в рамках его рекомендаций.
Безопасность
Вам следует иметь по крайней мере минимальное представление о приватности, нарушениях безопасности и контроле над ней. Не обязательно быть сертифицированным специалистом по безопасности информационных систем, достаточно следовать общепринятым рекомендациям и избегать очевидных ошибок. Если вы не способны на это, вам определенно не стоит считать себя профессионалом.
Структуры данных
Вы должны понимать, как наиболее рационально организуются данные, предоставляя максимально быструю работу с ними без ущерба для чистоты кода. Этим вещам учат со школьной скамьи, закладывая фундамент, подкрепляемый реальным опытом на протяжении всей дальнейшей карьеры разработчика.
Представление и семантика
Вам определенно необходимо иметь базовое понимание того, как правильно организовать визуальное представление контента, видимого пользователем. Этот навык приобретается с опытом. Вы можете считать, что нет ничего проще HTML и CSS, но уверяю вас, вы заблуждаетесь.
Знать, как избежать говнокода
Многие разработчики нуждаются в многолетнем опыте, прежде чем смогут чувствовать себя уверенно. А некоторые пытаются подделать это чувство уверенности. Не будьте самозванцем, потому что всем это видно. Уповая на кучу абстракций, инструментов, IDE, компиляторов и прочей мишуры, вы лишь потопите в них свое приложение и доставите множество хлопот своим коллегам. Если вы не уверены в себе, будьте по крайней мере честны перед самим собой и постарайтесь найти хорошего ментора или примите участие в разработке проекта с открытым исходным кодом в свободное от работы время.
Также рекомендуем посмотреть:
Учебный план по осваиванию современного JavaScript
Путь веб-разработчика в 2017
Лучшие Youtube-каналы для Frontend-разработчика
Комментарии