Пошук уроків, статей та іншого контенту
Опанували основи JavaScript — і що далі? Орієнтир по головних напрямках: фронтенд, бекенд, дані та інструменти навколо коду.
TypeScript — не окрема мова «поруч» з JavaScript, а надбудова над ним: статична типізація, яка ловить цілий клас помилок (звернення до неіснуючого поля, неправильний тип аргументу) ще до запуску коду, замість того щоб дізнаватись про них у продакшні. Переважна більшість сучасних React/Next.js/Node.js/NestJS-проєктів написана на TypeScript за замовчуванням, тож це радше природне продовження JavaScript, ніж окремий вибір — на цій платформі є власний курс TypeScript, що будується прямо поверх знань із курсу JavaScript.
Якщо цікавить те, що бачить і з чим взаємодіє користувач у браузері — природний наступний крок React: компонентна модель, стан, робота з подіями поверх того, що курс JavaScript уже пояснив на чистому DOM API. Next.js додає до React те, що самому React бракує з коробки для реального продакшн-застосунку: маршрутизацію, рендеринг на сервері, SEO — саме той стек, на якому побудована ця платформа.
Якщо цікавіше те, що відбувається на сервері — логіка, бази даних, API — наступний крок Node.js: той самий JavaScript, але в іншому середовищі виконання (без DOM, зате з файловою системою, мережею, процесами). NestJS додає структуру поверх «голого» Node.js — архітектурні патерни (модулі, Dependency Injection — стаття «Dependency Injection простими словами»), знайомі тим, хто стикався з Angular чи бекенд-фреймворками на кшталт Spring.
Незалежно від того, фронтенд це чи бекенд, майже будь-який реальний застосунок зберігає дані в базі — курс PostgreSQL пояснює реляційну модель, SQL-запити, індекси й транзакції на прикладі однієї з найпоширеніших баз даних у продакшні. Git — не «додаткова» навичка, а буквально інструмент, без якого неможлива командна розробка; курс Git на платформі покриває не лише commit/branch, а й реальний командний воркфлоу (Pull Request, розв'язання конфліктів).
Docker стає актуальним, щойно з'являється потреба запускати застосунок так само на будь-якій машині (своїй, колеги, продакшн-сервері) — курс Docker на платформі показує це на прикладі реального docker-compose.yml для веб-застосунку з базою даних. System Design — трохи інша категорія: не конкретний інструмент, а спосіб мислення про застосунки, що виходять за межі одного сервера (масштабування, кешування, черги) — корисний, коли вже є практичний досвід із хоча б одним повним стеком, а не як перший крок.
Реалістичний шлях — обрати один напрямок (frontend АБО backend), довести до рівня, коли можна побудувати й задеплоїти реальний проєкт (гайдовані проєкти платформи — «Full Stack блог на Next.js» для фронтенд-шляху, «REST API на NestJS» для бекенд-шляху — саме для цього), а вже потім розширюватись у суміжні напрямки. Спроба вчити React, Node.js, PostgreSQL, Docker і System Design одночасно зазвичай призводить до поверхневого знання всього й відсутності реального проєкту в портфоліо.
Стрибати між технологіями щотижня, не доводячи жоден напрямок до практичного результату — постійне «а спробую-но я ще й це» рідко призводить до готового проєкту, який можна показати на співбесіді.
Відкладати TypeScript «на потім, коли стану досвідченішим» — більшість реальних вакансій і кодових баз уже очікують знання TypeScript, тож відкладання лише подовжує шлях до першої роботи.
Вважати System Design та архітектурні патерни «непотрібними для junior» і повністю ігнорувати — базове розуміння того, чому щось спроєктовано саме так (а не глибока експертиза), уже корисне на співбесідах і при читанні чужого коду.
Після основ JavaScript TypeScript — майже обов'язковий наступний крок для будь-якого напрямку. Далі варто обрати один фокус — React/Next.js для frontend або Node.js/NestJS для backend — і довести його до реального проєкту, з PostgreSQL і Git як спільним фундаментом для обох шляхів. Docker і System Design природно стають актуальними пізніше, коли вже є з чим їх застосовувати на практиці.