EngX Code Review: почни писати код іще краще й побудуй ефективний процес код-рев’ю.

Як стати програмістом JavaScript

Як стати JS-розробником, що потрібно знати та вчити, які перспективи відкриваються перед JavaScript-програмістом, розповідає Lead Software Engineer Олександр Габдрафіков.

Lead Software Engineer Олександр Габдрафіков


Чим займається JavaScript-розробник

— Я в професії вже понад 7 років, є провідним Software-інженером і займаюся розробкою інтерфейсів та клієнтських застосунків у EPAM Anywhere, — розповідає Олександр.

Здебільшого JavaScript-розробник займається розробкою сайтів і фронтенд-застосунків. Утім, JS-розробник може займатися розробкою практично всього чого завгодно: серверної інфраструктури, мобільною розробкою, писати софт для роботи з 3D-графікою та Machine Learning.

Що потрібно знати JavaScript-програмісту

— Як на мене, перше, що варто вивчати, — це основи Computer Science, — вважає Олександр. — Щоб бути розробником — неважливо, на якій мові, — потрібно розуміти, як працює комп’ютер загалом: процесор, пам’ять, синхронні чи асинхронні операції. Це база, без якої нікуди.

Також потрібно розуміти, як функціонує платформа, з якою ви працюєте. Будь то браузер, сервер, мобільна платформа, десктоп тощо.

Безпосередньо JavaScript-розробнику потрібно знати саму мову JS: її основи, скоупи, замикання, як працюють синхронні й асинхронні операції, event-loop тощо. Далі набір залежить від напряму, в якому ви працюєте:

  • Якщо це Front-End, то потрібно знати браузерні API, що таке DOM, маніпуляції з ним.
  • Якщо використовується фреймворк, то потрібно хоча б розібратися, як він працює, у його основах.
  • Якщо це Back-End, то потрібно розуміти, як працює фреймворк, з яким ви взаємодієте (Node.js, express, nest.js, deno тощо). Також Back-End-розробнику потрібно вміти працювати з іншими компонентами системи, наприклад базами даних.

Як стати JavaScript-розробником

— Звичайно, мати освіту у сфері IT — це великий плюс, — вважає Олександр. — У цьому випадку закриваються базові питання з розумінням Computer science. Але це скоріше should have, ніж must have. Наявність освіти просто пришвидшить зростання фахівця.

В Інтернеті є дуже багато ресурсів на всілякі теми в програмуванні. Починаючи з основ і завершуючи нюансами. Звичайно, починати потрібно з основ: пройти гарвардський курс CS50. Потім приступати до вивчення мови. Книга «You Don't Know JS Yet» глибше розглядається те, як працює мова.

8 корисних джерел для вивчення JS

Я всім рекомендую відвідувати IT-конференції або дивитися записи доповідей в YouTube. Багато цікавого й нового можна дізнатися там.

Стажування в IT-компанії — хороший варіант швидко вирости в розробника-початківця. Але для цього вже потрібно мати якийсь досвід або хоча б знати основи.

І не потрібно забувати про англійську мову. Це must have навичка. Попри те, що є багато перекладеної інформації, здебільшого всі нові розробки, які здійснюються у світі, — англійською. І щоб іти в ногу з часом та споживати новий контент, потрібно знати англійську хоча б на рівні читання.

Визнач рівень володіння мовою

Скільки часу займає навчання

— Скільки часу йде на навчання? В усіх по-різному. Залежить від того, скільки часу приділяти цьому навчанню та який у вас бекграунд. Загалом, щоб почати вирішувати базові завдання, потрібно пів року-рік. Цей час потрібен, щоб розібратися з системами, «помацати» їх, спробувати щось зробити. Але це за умови, що у вас уже є база.

Звісно, на цьому навчання не закінчується. Робота програмістом — це постійне зростання. Галузь не стоїть на місці, розробляються нові технології та підходи до розробки. Потрібно йти в ногу з часом.

Перспективи JS Developer

— З моїх попередніх відповідей можна зробити висновок, що JS — це мова широкого призначення. Відповідно, розробник, який на ній пише, може займатися практично чим завгодно. З цього випливає, що і перспектив — багато, — вважає Олександр.

Хороший розробник завжди дивиться трохи вбік від того, чим постійно займається. Якщо ви розробляєте на JS, то корисно подивитися, як працюють інші мови, — наприклад, не динамічно типізовані: C# або будь-яка інша.

Висновки

— Копайте вглиб і розбирайтеся, як працюють речі, якими ви користуєтеся, — радить Олександр. — Читайте вихідний код бібліотек, які використовуєте, ретельно вивчайте документацію до них. Це допоможе розширити кругозір, здобути досвід у вирішенні завдань, подивитися, як працюють великі системи під «капотом».

Дізнайся більше про професії
Матеріали за темою
Стеж за новинами на улюблених платформах