На думку деяких frontend-розробників, вони можуть розвиватися в будь-якому з напрямів веб-розробки. Наприклад, перейти в дизайн. Розповідаємо про цей та інші шляхи розвитку фронтендерів.
Що таке фронтенд?
Frontend – це публічна частина web-додатків (веб-сайтів), з якою користувач може взаємодіяти і контактувати напряму. У Frontend входить відображення функціональних завдань призначеного для користувача інтерфейсу, що виконуються на стороні клієнта, а також обробка запитів користувачів. По суті, фронтенд – це все те, що бачить користувач при відкритті web-сторінки.
У свою чергу, web-додаток – клієнт-серверний додаток, в якому клієнтом виступає в основному браузер, а сервером – web-сервер. Логіка web-додатку розподілена між сервером і клієнтом, зберігання даних здійснюється переважно на сервері, обмін інформацією відбувається у мережі. Простіше кажучи, це те, що бачить користувач і які дії виконує кожен раз, коли підключається до мережі інтернет і відкриває будь-який браузер.
Frontend розробка – це робота зі створення публічної частини web-додатку, з якою безпосередньо контактує користувач, і функціоналу, який зазвичай виконується на стороні клієнта. Тобто, фронтенд розробник працює над тим, щоб на сайті кожна кнопочка, іконка, текст і вікно не тільки стояли на своєму місці, не перекривали один одного і виглядали цілісно (це веб-верстка), але і щоб вони виконували своє пряме призначення – підштовхували до якоїсь дії (наприклад, щоб кнопка “купити” відкривала кошик, а “play” – запускала відтворення фільму або музики).
З метою створення затребуваного і доступного продукту (веб-додатки) фронтенд-розробнику необхідно взаємодіяти з іншими програмістами, дизайнерами, маркетологами, аналітиками та іншими фахівцями.
Компоненти фронтенд розробки:
- HTML (HyperText Markup Language) кажучи простими словами – це мова розмітки всіх елементів і документів на сторінці, і їх взаємодія в структурі сторінки.
- CSS (Cascading Style Sheets) – це мова характеристики й стилізації зовнішнього вигляду документа. За допомогою CSS-коду браузер розуміє, як саме необхідно відображати елементи. CSS створює шрифти, кольори, визначає розташування блоків сайту, та інше. Також адаптує один і той же документ в різних стилях, виводить передачу на екран або для читання голосом.
- JavaScript– мова, створена оживляти веб-сторінки. Завдання JavaScript – відгукуватися на дії користувача, обробляти натискання клавіш, переміщення курсора, кліки мишкою. JavaScript також дає можливість вводити повідомлення, посилати запити на сервер, а також завантажує дані без перезавантаження сторінки, і так далі.
Головне завдання Frontend-розробника
Якщо ви маєте творчий підхід до роботи, бажаєте розробляти і створювати динамічні інтерфейси, вам однозначно дорога у фронтенд.
Вся фронтенд розробка виконується на стороні користувача, вона не менш важлива ніж бекенд розробка (про неї ми також згадаємо трохи нижче). Основне завдання фронтенд фахівця – це зв’язати представлені дизайнером графічні макети у web-додатку (сторінках сайту) з бекендом і за необхідності реалізувати обчислювальний функціонал на стороні користувача. Основні технології в арсеналі фронтендера це HTML, CSS і JavaScript. Звичайно, при роботі в команді потрібно знати і розбиратися в багатьох процесах, суміжних з роботою фронтенд-розробки . Будучи вже досвідченим фронтенд-розробником потрібно бути знайомим з бекенд-технологіями і розуміти принципи взаємодії користувача і з додатками (UX).
Куди рухатись у FrontEnd – вертикальний розвиток кар’єри
Від Junior до Senior
Перший шлях розвитку всередині своєї спеціальності. Як і у будь-якого розробника, у фронтендера є стандартний шлях: від початківця розробника до інженера, що має великий досвід і знання в сфері. Як правило, такого розробника відрізняє не тільки вміння писати код, але і досвід вирішення різних життєвих ситуацій, які відбуваються в щоденній роботі над проєктом.
Як заробити на знаннях розробника: 28 веб-сайтів, на яких платять від $50 до $700 за технічні статті
В індустрії немає чітких і зрозумілих вимірників для рівня Senior, і в кожній компанії розробників можуть оцінювати по-різному. Наприклад, різного роду асесмент, завдання, інтерв’ю та інші методи, які дозволяють роботодавцю об’єктивно оцінити співробітника.
Senior-розробник – це самодостатній розробник, який може сам розібратися в будь-якій задачі. На співбесіді легко перевірити обсяг знань кандидата, але його самостійність перевірити досить складно, тому найчастіше це визначається через питання про те, чим людина займалася і які завдання вирішувала.
Якщо говорити про різницю оцінки грейдів розробників, то можна привести в приклад компанії, де часто розробники доходять до позиції Senior за рахунок швидкого виконання великого обсягу монотонних завдань, пов’язаних зі сферою їх діяльності.
Можна сказати, що їх підвищують за гарне рішення цих задач і вислугу років. Але, коли такі розробники приходять в більш вільні проєкти, наприклад, в стартапи, які швидко розвиваються і де часто потрібно придумувати нові нестандартні рішення, то з’ясовується, що набір їх навичок був гарний тільки для тієї компанії, в якій він працював, а в новому продукті їх рівень знань і компетенцій іноді не дотягує навіть до Middle.
Team Lead
Багато хто думає, що логічним продовженням кар’єрного шляху буде зростання в тімліді. Але це не завжди кращий варіант. Хоч і мається на увазі, що тімлід – це в тому числі й розробник, в першу чергу компанії все ж чекають від такої людини навичок управління командою.
Для розробника це, скоріше, зрушення в бік менеджерської позиції, ніж технічної. Тому, якщо ви хочете розвиватися саме технічно, варто звернути увагу на такі позиції, як техлід або архітектор. Вони більше про роботу з кодом, про управління технічним станом проєкту і архітектурою.
СTО
Одним з меж мрій зростання в технічній професії є позиція директора з технологій, або СТО. Але фронтенд-розробник може зіткнутися з великими труднощами, на відміну від бекенд-розробника. Так виходить, тому що основна бізнес-логіка будь-якої програми – це бекенд, і продукт працює за рахунок нього. Тому вам доведеться добре попрацювати над розширенням знань в цій області, щоб розуміти, як працюють всі системи вашого продукту.
Не потрібно також забувати про те, що це переважно менеджерська позиція, тобто про роботу з кодом тут взагалі можна забути. На цьому рівні вам доведеться займатися прийняттям рішень про те, в який бік технічно рухається продукт, ніж думати про якісь дрібні технічні деталі.
Друга важлива складова цієї позиції – розуміння бізнесу, того, як він працює, і як задовольняти його потреби. СТО – це та людина, яка прагне зробити якісний продукт, який буде відповідати не тільки технічним вимогам, а й вимогам бізнесу, щоб розробники не закопувались в коді, а виробляли продукт швидко.
Куди рухатись у FrontEnd – горизонтальний розвиток
Дизайнер
Мені нерідко зустрічалися дизайнери, які до цього займалися фронтендом. Такі фахівці дуже цінуються, тому що вони розуміють, як буде реалізовуватися їх дизайн, і можуть краще працювати з фронтенд-розробниками, коли продумують свої рішення. Вони розуміють, що не все, що вони придумали, може бути легко реалізовано.
Також фронтендер, що став дизайнером, часто має хороший досвід розробки інтерфейсів, тому його UX-рішення можуть бути кращими, ніж у дизайнера, який розробкою ніколи не займався.
FullStack /Backend developer
Досить часто можна зустріти фронтендерів, які стали FullStack розробниками. Найчастіше це пов’язано з тим, що вони пишуть бекенд, в тому числі на JavaScript – погодьтеся, адже легко почати писати бекенд знайомою мовою?
Але і FullStack розробники, які знають іншу мову розробки бекенду, – теж не рідкість. Це досить простий варіант розвитку, так як паралельно з розробкою та фронтендом можна почати освоювати бекенд. Так, потроху і поступово ви можете стати FullStack-розробником або повністю перейти в бекенд.
Mobile developer
На JavaScript можна писати практично під будь-яку платформу. Мобільні операційні системи тут не стали винятком. Завдяки цьому фронтенд-розробники часто починають реалізовувати програми за допомогою таких фреймворків як React Native.
Вони продовжують писати на звичному React, але з невеликими відмінностями, при цьому розробляючи мобільні додатки. Незважаючи на це, тому що платформа не досконала, все одно доводиться лізти в нативні шматки коду, де розробники стикаються з Swift і Kotlin.
Розвиваючи свої знання в цих мовах, можна пробувати писати програми на них. Розробка додатків – це по суті та ж розробка інтерфейсів, просто на іншій платформі та зі своєю специфікою, тому це досить близький для фронтенд-розробника напрямок.
Будь-який інший напрямок
Крім усього вищесказаного, у фронтенд-розробника є купа різних шляхів для розвитку в інші IT-професії. Як приклад, Data Science, Project/Product Manager і DevOps.
Якщо вам подобається позиція тімліда і менеджерські обов’язки, вам може сподобатися управляти проєктом або командою на постійній основі, не торкаючись коду взагалі. Якщо ви працюєте фронтендером і вам подобається візуалізація різних даних, швидше за все, вам було б цікаво, як ці дані збираються і аналізуються. В такому випадку напрямок Data Science був би напевно цікавим для вас.
Або, наприклад, DevOps. Якщо вам подобається налаштовувати різні інструменти, які допомагають доставляти код до продакшен і працювати з інфраструктурою, цілком можливо, що ви можете змінити область діяльності в бік DevOps.
Також існує багато інших спеціальностей, які можна пробувати в залежності від того, що вам більше до душі.
У будь-якого розробника в IT є великий вибір варіантів, щоб рости професійно або переходити в суміжні спеціальності в залежності від уподобань. Якщо у вас є бажання і ви вже розробник – це не буде складним процесом. Пробуйте свої сили в чомусь новому або розвивайтеся і ростіть у вашому поточному напрямку.