Статті
Front end Developer: чим займається, що вміє, з чого почати
7 березня, 2023

Візуальна складова сайту, з якою взаємодіє користувач — головний результат роботи front end розробника. Що має вміти фронтендер, щоб бути гарним спеціалістом у сучасних надшвидких умовах, коли навколо всі вже розбалувалися різними вебдосвідами? Які кроки найкорисніші для розвитку на початкових етапах кар’єри? Розповідає Тетяна Мельник, Tech Lead в Projector Institute.

Чим займається Front end Developer сьогодні й чим займався раніше

Практично все наше життя зараз проходить у браузері. З початку 90-х сайти серйозно змінилися й відіграють уже не інформаційну роль, а функціонально-інструментальну, та можуть часто конкурувати з настільними застосунками. Наприклад, Gmail, який для багатьох замінив десктопні емейл-клієнти (outlook, гуд бай), чи той же Netflix, який взагалі для багатьох став заміною телевізору. Відповідно, для розробки таких сайтів, які часто називають вебзастосунками, потрібно набагато більше зусиль і ресурсів. І професія фронтенд інженера відіграє тут вкрай важливу роль.

Як і 10-15 років тому, головний результат роботи front end developer — візуальна складова сайту, з якою взаємодіє користувач. Саме тому часто вебдизайнери переходять у фронтенд і навпаки.

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

Існування фреймворків й багатьох інструментів, які полегшують роботу, не скасовує обов’язкове знання JavaScript з базового рівня, розуміння його особливостей, деталей роботи в браузері, а разом з цим — основ програмування та алгоритмів.

За останні десятиліття користувач став вибагливішим та й інструменти для розробки розвинулися. Якщо раніше HTML & CSS & JavaScript були основними, то зараз існує вже багато JS фреймворків, і навіть фреймворків над фреймворками. Писати на чистому JavaScript сьогодні мало хто буде. Це або такі собі JS-ентузіасти або спеціалізовані проєкти, де готові фреймворки просто не впоралися б із завданнями. Більшість вебзастосунків все ж пишуть на React, Vue чи Angular.

Хоча знову ж, існування фреймворків й багатьох інструментів, які полегшують роботу, не скасовує обов’язкове знання JavaScript з базового рівня. Зокрема розуміння його особливостей, деталей роботи в браузері, а разом з цим — основ програмування та алгоритмів.

Що має вміти фронтедер

Щоб стати фронтендером потрібно мати доволі різносторонні навички, а саме:

  • Візуальний перфекціонізм і відчуття прекрасного. Бажання довести справу практично до ідеалу. Картинка, яку ми бачимо в браузері — найважливіше для користувача. Звісно, front end інженер не має вміти робити дизайн-макети в спеціальних інструментах. Але це внутрішнє відчуття, де краще «розмістити кнопочку» точно завоює повагу в дизайнерів, з якими ви будете працювати.
  • Базові знання основ програмування. Спочатку може здаватися, що математика й алгоритми грають невелику роль у фронтенді. Насправді ж ці основи формують ваше інженерне мислення, щоб вміти розбивати велику й складну проблему на менші й уже доволі прості задачі. Ці знання можна отримувати уже в процесі роботи фронедером.
  • Розуміння, як працює інтернет і браузер. Це не значить, що треба знати всі адмінські секрети. Проте розуміння, як це працює, полегшить вам роботу і пришвидшить пошук оптимальних рішень.
  • Власне глибокі вміння з профільних HTML & CSS & JavaScript. Навчитися цього можна самостійно або ж на курсах. Наприклад, є курс Front-end Beginning та курс JavaScript у Projector.
  • А також дуже багато терпіння 😉 Не все виходить одразу й часто дуже складно знайти причину. Тому тут потрібно мати трошечки витримки, не здаватись одразу, а намагатися знаходити нестандартні рішення.

До чого треба готуватися, якщо є думки опанувати професію фронтендера?

Усьому переліченому, на жаль, не навчитися за 3-4 дні чи навіть місяць. Однак всі зусилля будуть того вартими, бо професія дуже актуальна й залишатиметься такою довго. Як показують тренди — все більше інструментів переходить в браузер. Google навіть операційну систему розробляє, основа інтерфейсу якої — браузер. За статистикою того ж dou.ua вакансій фронтендера на українському ринку найбільше, і ріст не сповільнюється.

За опитуванням на StackOverflow більшість сучасних програмістів — це вебпрограмісти, і основні технології, які вони використовують, це JavaScript та HTML/CSS.

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

Кілька практичних порад:

* Ще раз — не ведіться на «опанувати професію за кілька тижнів». Бо тут, як і всюди, найважливіше — практика.

* Важлива особливість галузі те, що нові інструменти для роботи виникають і розвиваються практично щодня. Тому потрібно розуміти, що це буде постійне навчання разом з роботою. А не так, що якщо я вже пішов на курси, то через місяць, я буду знати все-все-все.

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

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

* Для світчерів шлях також можливий, особливо якщо ви вже працюєте в IT в дотичних галузях і відчуваєте динаміку роботи в дев-команді. Часто у front end переходять вебдизайнери та QA-інженери, оскільки вони вже знають багато нюансів роботи браузерів.

* Якщо попереднього досвіду з IT та програмуванням у вас не було, то опанувати й знайти себе в цій професії буде однозначно важче, але є багато успішних випадків. Головне — правильна мотивація, відданість цілі й усвідомлення, що доведеться докласти зусиль.

Що найбільше допоможе на початку кар’єри

На жаль, в наших університетах поки що немає окремого напрямку для фронтендера, і десь потрібно навчитись професії. У моєму випадку це було багато років тому і це був фриланс — навчання в процесі роботи. Звісно є ризики, що будуть факапи, і хтось колись вам не заплатить за пропущені дедлайни чи не ту якість, але це все — досвід. Також можна дивитись на спеціалізовані курси, але тільки на ті, де буде багато практики й у результаті курсу ви матимете власні напрацювання.

* Для першої практики — спробуйте власноруч зробити копію front end частини улюбленого вебсайту. Це буде і цікаве заняття, бо в процесі виникне багато запитань, і водночас це може стати частиною вашого портфоліо. Хоча на сьогодні портфоліо для цієї професії грає вже не таку велику роль, оскільки більшість працедавців проводять співбесіди та просять виконати тестові завдання.

* Робота pro-bono. Є багато організацій, яким потрібен сайт, але це не їхня цільова річ. Їм потрібно зробити раз і забути. Тут фронендер, який прагне вчитись, точно буде в пригоді. Крім того, це буде плюсик в публічності, якщо раптом організація доволі популярна.

* Для першої роботи, думаю, все-таки варто дивитись на аутсорс компанії, оскільки тут буде більше завдань на потоці, вони будуть різними й ви зможете робити проєкти від A до Я. Хоча, звісно, продуктові компанії пізніше будуть більш привабливими за умовами праці.

* Завжди думати про підвищення кваліфікації. Це безупинний процес. Не варто вважати після першої комерційної роботи, що тепер всі двері відчинені, бо попереду у вас ще багато інтерв’ю і невирішених задач.

* Для підтримки й розвитку знань і швидкості, з якою ви розв’язуєте задачі, є багато корисних сервісів, які містять невеликі стандартні завдання-змагання з програмування. Наприклад, LeetCode чи CodeWars. Крім того, ці інструменти часто використовують для джоб-інтерв’ю, тому в будь-якому разі варто з ними познайомитися.

* Взагалі дуже корисно ходити на співбесіди, щоб розуміти потреби ринку, які інструменти ще актуальні, а також виконувати тестові завдання. Після співбесід обов’язково просіть фідбек, адже так ви теж отримуєте досвід й розумієте свої слабкі й сильні сторони.

* А ще непогано буде стежити за всіма новинками галузі, підписатись на відомих людей, які вам подобаються, наприклад, у твіттері. Може це звучить трохи кумедно, але у твіттері також можна багато чому навчитися:)

У нас є ще дещо для вас