Прокачайся в код-рев’ю: для перших 50 учасників — курс безкоштовний

час читання: 4 хв

Як стати розробником JavaScript: гра починається

Досвідчений Software Engineer пропонує познайомитися з JavaScript в ігровому форматі — з чотирма рангами, чіт-кодами для проходження й потрібними абревіатурами.

Senior Software Engineer Олександр Борискін

— Знаєте, за що я не люблю більшість посібників? — інтригує Senior Software Engineer Олександр Борискін. — По-перше, через надмірну формальність і пояснення елементарних речей. Я точно не буду в сто перший раз:

  • розповідати, що таке мова JavaScript;
  • пояснювати, чому JavaScript-розробники мають попит на ринку;
  • жонглювати цифрами й графіками, щоб переконати когось учитися.

— Напевно багато хто вже має певне уявлення про IT-галузь у цілому, нагуглили або дізнавалися в знайомих про фронтенд-розробку, розуміють, що таке Java і JavaScript, і знають, що бекенд і фронтенд не є синонімами.

Механіка гри

— Наше знайомство з посадою JavaScript-розробника відбуватиметься в ігровому форматі з присвоєнням рангів й отриманням рекомендацій щодо технологій, які відповідають кожному з цього рангів, — починає Олександр, — Під час розповіді звучатимуть деякі назви й абревіатур, які в майбутньому неминуче ввійдуть у професійний лексикон. Для зручності в тексті вони виділені жирним шрифтом.

Ранг 1: верстальник

— Чи має JS-розробник відношення до верстки сайтів? Ще як має! HTML і CSS — це важливі інструменти в професійному арсеналі. Свій шлях варто починати з освоєння цих технологій. Навчаючись, потрібно усвідомлювати, що дива не буває: ідеальне розташування кнопок, віджетів та інших елементів інтерфейсу — це результат кропіткої роботи і (часто) звірки кожного пікселя з макетом від дизайнера. Суть полягає в тому, що в чистому вигляді професія верстальника вже застаріла, тому таку вакансію на ринку навряд можна знайти.

Рекомендації:

  • буде добре, якщо перші проєкти на HTML/CSS зберігатимуться не локально, у вигляді вихідних файлів, а на Git-е (попередньо треба розібратися з цією системою);
  • просто ідеально буде, якщо ви розберетеся з тим, як працює браузер.

Ранг 2: Front-End-розробник

— Чому ж попит на чистих верстальників зменшився? Бо вочевидь без знання JavaScript і DOM просто неможливо створювати такі круті сайти, які всі звикли бачити. Завдяки JS і DOM у статику інтерфейсу вноситься необхідна динаміка, що дозволяє користувачеві «спілкуватися» з додатком — отримувати зворотний зв’язок на свої дії. Можливо, старовіри-верстальники ще можуть домогтися чудових результатів без знання цих технологій, але навіщо виробляти вогонь тертям палиць, якщо вже з’явилися запальнички? Згодні?

Рекомендації:

  • щоб не мати серйозних проблем із реальними проєктами, наполегливо рекомендую ознайомитися з NPM, методологіями розробки (наприклад, BEM) і патернами проєктування.

    Ранг 3: просунутий Front-End-розробник


    — Підвищуємо ставки. Головні принципи, на яких будується розвиток людства, — накопичення досвіду й бажання «не винаходити велосипед». Це знайшло своє відображення й у фронтенді: саме так з’явилися CSS- і JS-фреймворки. Зазвичай, розробник вибирає один фреймворк, що прийшовся йому до вподоби, розбирається з принципами його роботи, а потім, якщо є бажання, набуває знання про інші фреймворки на підставі паралелей і схожих моментів. Чимось це нагадує вивчення нових іноземних мов. Але це аж ніяк не скасовує знання основ технологій, згаданих раніше.

    Рекомендації:

    • щоб під час інтерв’ю не заплутатися на питанні про написання тестів, краще набити руку на Jest, Моcha й інших аналогах, не обійшовши стороною піраміду тестування;
    • в умовах конкуренції будь-який козир, як-от досвід роботи з CI/CD або WepPack, може стати в пригоді.

    Ранг 4: Full Stack-розробник

    — Поговоримо про верхівку айсберга. Коли фронтенд-розробники почали відчувати себе обмеженими рамками тих технологій, які вони вже мали, вони вирішили попорпатися в «пісочниці» з Node.js і AWS із бекендерами. Починаєш з основ на зразок процесів, потоків, протоколів, модулів, а потім так затягує! Наразі фронтенд-розробники зі знаннями Node.js і AWS є фулстек-розробниками мають великий попит на ринку.

    Обери відповідну для себе вакансію

    Чіт-коди для проходження гри

    — Наш ігровий гайд був би не повний без чіт-кодів: корисних порад, які б колись спростили життя мені та які, як з’ясувалося, виявилися корисними для багатьох моїх колег. Ось вони:

    1. Якщо читання технічної літератури — не ваша стихія, потрібно шукати інші більш доступні способи отримання інформації. За своє життя я більш-менш уважно прочитав лише дві книги: Девіда Фленагана про JavaScript і «Банди чотирьох» про патерни проєктування. Я вважаю, що javascript.info більш ніж достатньо для проходження співбесіди з JS: там міститься достатньо інформації, плюс вона постійно оновлюється. Ну й розкіш, якої не було в достатку в мій час, — це велика кількість відеоуроків і подкастів про IT, які допоможуть у зрозумілій формі отримати актуальну й цікаву інформацію про світ IT і фронтенда.

    2. Знати англійську мову — обов’язково. Яким би технічно сильним не був фахівець, без знання англійської мови вижити в IT-галузі буде практично неможливо. Статус мови міжнародних комунікацій тут виправданий на сто відсотків: усі комунікації з клієнтами (від проєктних інтерв’ю до листувань і спілкування наживо), вся проєктна документація й навчальні матеріали будуть саме англійською. Тому, якщо рівень володіння англійською мовою недостатній, потрібно зайнятися цим питанням заздалегідь.

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

      3. Вибирати формат навчання потрібно з урахуванням своїх можливостей і часу. Я вивчав фронтенд самостійно й робив це влітку, коли навчався в університеті між третім і четвертим курсом. Ця схема абсолютно точно не підійде тим:

      • чий вільний час займає, наприклад, інша робота;
      • хто хоче мати чіткий, структурований план навчання з дедлайнами й кінцевим результатом;
      • хто не впевнений у своїй самодисципліні або для кого є важливим контроль процесів.

      У всіх описаних випадках вибір курсів абсолютно логічний і дозволяє уникнути непотрібних ризиків.

      4. Якщо з’являються будь-які додаткові опції, їх потрібно використовувати для поглиблення знань і вдосконалення навичок. Продуктивна взаємодія з ментором, отримання досвіду під час пробних співбесід, відвідування конференцій і вебінарів, участь у стартапах або open-source проєктах — це лише мала частка того, що може змінити ситуацію на краще й зробити CV ще більш переконливим. Що раніше ви знайдете й заповните свої прогалини, то швидше позбавитеся від зайвого стресу під час інтерв’ю в IT-компаніях.

        — На цьому все, game over. Нехай у вас все вийде!