Як стати програмістом JavaScript
Як стати JS-розробником, що потрібно знати та вчити, які перспективи відкриваються перед JavaScript-програмістом, розповідає 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» глибше розглядається те, як працює мова.
Я всім рекомендую відвідувати IT-конференції або дивитися записи доповідей в YouTube. Багато цікавого й нового можна дізнатися там.
Стажування в IT-компанії — хороший варіант швидко вирости в розробника-початківця. Але для цього вже потрібно мати якийсь досвід або хоча б знати основи.
І не потрібно забувати про англійську мову. Це must have навичка. Попри те, що є багато перекладеної інформації, здебільшого всі нові розробки, які здійснюються у світі, — англійською. І щоб іти в ногу з часом та споживати новий контент, потрібно знати англійську хоча б на рівні читання.
Скільки часу займає навчання
— Скільки часу йде на навчання? В усіх по-різному. Залежить від того, скільки часу приділяти цьому навчанню та який у вас бекграунд. Загалом, щоб почати вирішувати базові завдання, потрібно пів року-рік. Цей час потрібен, щоб розібратися з системами, «помацати» їх, спробувати щось зробити. Але це за умови, що у вас уже є база.
Звісно, на цьому навчання не закінчується. Робота програмістом — це постійне зростання. Галузь не стоїть на місці, розробляються нові технології та підходи до розробки. Потрібно йти в ногу з часом.
Перспективи JS Developer
— З моїх попередніх відповідей можна зробити висновок, що JS — це мова широкого призначення. Відповідно, розробник, який на ній пише, може займатися практично чим завгодно. З цього випливає, що і перспектив — багато, — вважає Олександр.
Хороший розробник завжди дивиться трохи вбік від того, чим постійно займається. Якщо ви розробляєте на JS, то корисно подивитися, як працюють інші мови, — наприклад, не динамічно типізовані: C# або будь-яка інша.
Висновки
— Копайте вглиб і розбирайтеся, як працюють речі, якими ви користуєтеся, — радить Олександр. — Читайте вихідний код бібліотек, які використовуєте, ретельно вивчайте документацію до них. Це допоможе розширити кругозір, здобути досвід у вирішенні завдань, подивитися, як працюють великі системи під «капотом».