30+ корисних джерел для покращення JavaScript-навичок
Що читати та дивитися, щоб підняти свої навички роботи з JavaScript на новий рівень? Андрій Гордійчук, senior engineering manager, розповідає про свої улюблені ресурси.
Які навички повинен мати JavaScript-інженер?
— Сьогодні інженери мають опановувати нові технології швидко, як ніколи досі. Світ швидко змінюється, і 2023 року клієнтам потрібні нові інструменти та технології, як-от AI/ML, ChatGPT, платформи low-code/no-code, IoT (Інтернет речей), Cloud Native, блокчейн, криптовалюта, метавсесвіт та інші. Саме тому вміння швидко адаптуватися — одна з найважливіших навичок, яку повинен розвивати кожен інженер.
JavaScript підходить як для фронтенд-, так і для бекенд-розробки, тому не обмежуйте себе лише однією з них. Прогресивна тенденція — навички full-stack. Але це не означає, що потрібно знати все. Це означає, що ті інженери, які мають широку експертизу, є більш конкурентоспроможними та пропонують найефективніші рішення для різних контекстів. Важливо мати фундаментальні інженерні знання, що є основою для становлення вас як інженера та розвитку вашого інженерного мислення. І не забувайте приділяти увагу опануванню soft skills для ефективної комунікації з клієнтами та для роботи в команді.
Корисні ресурси для вдосконалення JavaScript-навичок
— З мого досвіду, оригінальна документація є найкращою відправною точкою для ознайомлення з новим фреймворком, бібліотекою, інструментом тощо. Окрім того, можна користуватися спеціальними освітніми платформами та інструментами, які допомагають покращити навички. З самого початку практика, статті, відео та чати спільнот — ваші найкращі друзі.
Я рекомендую 30+ ресурсів, які допоможуть вам покращити свої навички для роботи з JavaScript.
Платформи та сайти
- JavaScript.Info — must-have для початківців. Цей онлайн-ресурс охоплює широкий спектр тем — від базового синтаксису до розвинених концепцій — і містить навчальні матеріали, тести та практичні вправи.
- Patterns.dev — безкоштовна книга про патерни проєктування та компонентні патерни для створення потужних вебзастосунків за допомогою стандартної JavaScript.
- FreeCodeCamp — освітній портал, що виник через ідею безкоштовно навчати програмуванню.
- 33 Concepts Every JavaScript Developer Should Know — репозиторій, який допомагає розробникам реалізовувати свої концепції на JavaScript.
- Developer Roadmaps — сайт із низкою дорожніх карт, від початкового рівня до поглибленого, для різних сфер розробки програмного забезпечення, зокрема фронтенд-, бекенд-розробки, DevOps та науки про дані.
- Refactoring guru містить усе, що потрібно знати про рефакторинг, шаблони проєктування, принципи SOLID та решту, що стосується ефективного програмування.
- Fireship — швидкий і цікавий спосіб підвищити рівень навичок програмування.
- 2ality — блог, присвячений JavaScript, TypeScript, а також веброзробці.
- LeetCode містить завдання з програмування для розробників, які хочуть покращити свої навички кодування та підготуватися до технічних співбесід.
Розсилки
YouTube-канали
- JavaScript Competency Center — освітнє онлайн-джерело в галузі веброзробки, програмування та кодування.
- ByteByteGo висвітлює теми та тенденції у сфері проєктування великомасштабних систем, від авторів серії книг System Design Interview.
- Going Headless допомагає в дослідженні світу headless architecture та технології MACH.
Книги
— Почніть із простих речей, які ви вже використовуєте на практиці й хочете зрозуміти глибше. Я б порадив поєднувати технічні книги з книгами про саморозвиток, мотивацію та процеси.
- Mythical Man-Month, автор Frederick P. Brooks
- Серія книг автора Robert C. Martin (Uncle Bob);
- JavaScript: The Definitive Guide, автор David Flanagan;
- Серія You Don't Know JS series: Up and Going, Types & Grammar, Scope and Closures, this & Object Prototypes, Async & Performance, ES6 & Beyond, автор Kyle Simpson;
- High Performance JavaScript, автор Nicholas C. Zakas;
- Effective TypeScript, автор Dan Vanderkam;
- Tackling TypeScript: Upgrading from JavaScript, автор Dr. Axel Rauschmayer;
- Dive Into DESIGN PATTERNS, автор Alexander Shvets;
- Node.js Design Patterns, автор Mario Casciaro
- Fundamentals of Software Architecture, автор Mark Richards;
- Building Microservices, та Monolith to Microservices, автор Sam Newman;
- Designing Data-Intensive Applications, автор Martin Kleppmann;
- Fundamentals of Data Engineering, автор Joe Reis;
- Full Stack Serverless, автор Nader Dabit;
- The Singularity Is Near: When Humans Transcend Biology, автор Ray Kurzweil.
— Пам’ятайте, що навчання програмуванню та підвищення рівня інженерних знань — це процес, який вимагає часу та практики. Почніть з основ, створюйте невеликі проєкти й продовжуйте вчитися та розвивати свої навички з часом.