💳 Кожен. Повинен. Мати. Trustee Plus: криптогаманець і європейська платіжна картка з лімітом 50к євро 👉
Марія БровінськаРобота
23 лютого 2023, 11:11
2023-02-23
Хто такий FullStack Developer: огляд професії від Станіслава Висоцького
Станіслав Висоцький має 9 років комерційного досвіду у сфері IT, 5 років з яких працює в компанії SPD-Ukraine як FullStack Developer.
«Я почав цікавитися розробкою web-додатків ще зі старших класів школи. Тоді не було такого розподілу як frontend або backend, тож я одразу вчив напрям FullStack і почав створювати сайти. Уже більш поглиблено почав вчити веброзробку в університеті та писав власні pet-проєкти та з них отримував досвід розробки в backend, PHP, frontend, JavaScript, HTML і з фреймворками», — розповідає він.
Професійно розробкою хлопець став займатися у 2014 році, починав як backend розробник на PHP. Але у 2016 році я перейшов на «іншу сторону зла» й почав займатися напрямом frontend. «І вже у 2018 році я прийшов у SPD-Ukraine як frontend розробник. Потім SPD розпочала роботу над великим проєктом, на якому замовник шукав у команду JavaScript спеціаліста, з того моменту почався мій шлях FullStack Developer із JavaScript стеком», — каже айтішник.
Нижче — огляд професії FullStack Developer.
Роль FullStack у проєкті
FullStack Developer — це розробник, який може самостійно зробити фічу на проєкті. Наприклад, у клієнта є запит зробити перелік юзерів. У звичайному проєкті є розділені ролі, тобто є backend-розробник, який зробить backend-частину, яка допоможе отримати юзерів із бази, і є спеціаліст, який напише frontend-частину, тобто зробить інтерфейс для проєкту, щоб список мав гарний вигляд і був зрозумілим для клієнта та юзера на кожному етапі.
FullStack розробник — це спеціаліст «широкого профілю», він має глибоку експертизу як у frontend, так і в backend, тож може самостійно зробити обидві частини, й саме він несе відповідальність перед командою за повну реалізацію фічі.
Що треба знати та вміти
Зі свого досвіду скажу, що краще спочатку вчитися одному напряму, а потім — іншому. Це буде набагато ефективніше, ніж одразу занурюватися з головою у FullStack.
Якщо ви починаєте з frontend, то вам треба розуміти як працює браузер та JavaScript, також орієнтуватися в базових фреймворках, та в тих, які зараз актуальні. Але, якщо говорити про FullStack — то в цьому напрямі треба знати повністю все. Треба досконально розбиратися у frontend-напрямку, а ще паралельно бути в темі backend і Node.JS (якщо йдеться про JS стек) та логікою роботи з базами даних.
Існують різні FullStack бази, є Java разом із frontend, і є ті, де все на JS. Аби стати FullStack JS, окрім упевненого володіння JavaScript, треба знання й фреймворків. Я раджу починати з Express, на старті його буде достатньо, а далі вже можна переходити на щось складніше, наприклад фреймворк Nest.
По frontend частині важливо знати базу та як він взаємодіє із серверною частиною. Почніть із HTML (теги, основи роботи браузера), потім перейдіть до CSS та адаптивної верстки. Наступним етапом буде вивчення мови, я б радив обрати JavaScript, адже ця мова є однією з найпопулярніших та актуальних й досі. Коли ви розібралися з JS, переходьте до фреймворків і бібліотек. Я рекомендую познайомитися з фреймворком React, він дуже легкий і зручний для початку вашого переходу.
Якщо казати про backend-частину, як і у випадку з frontend, щоби розбиратися, потрібно вивчити основи роботи інтернету. Наприклад, як працюють протоколи HTTP/HTTPS, браузер, DNS, а також доменні імена та хостинги. Потім займіться операційними системами. Читайте про управління процесами, потоками та паралелізмом, базовими командами термінала та основними концепціями мережі. Одним із важливих етапів вашого навчання буде знайомство з базами даних і логіки роботи з ними.
Почніть питати поради в колег із напряму, куди ви плануєте рухатися та підтягувати скіли. Паралельно вчіть теорію й відпрацьовуйте на практиці, а для цього, не соромтеся просити в менеджера давати вам задачі з FullStack, щоби цей процес був плавним і менш стресовим для вас і команди. Такий досвід мали мої колеги, і він був успішним. Тож із подібним світчем у компанії у вас не має бути проблем.
Для початку цього плану вам буде більш ніж достатньо. Раджу робити все поступово, але якісно, не гоніться за результатами — почніть із чогось маленького, й уже потім набирайте обертів.
Список книг, які допоможуть вам на шляху до FullStack
Node Cookbook, 4th Edition — Bethany Griggs
Full-Stack React Projects: Learn Mern Stack Development — Shama Hoque
Modern Full-Stack Development: Using Type Script, React, Node.js — Frank Zammetti
Full Stack Web Development: Round One — Begin! Edwin Ross Torres
Hands-On Full Stack Web Development with Angular 6 and Laravel 5 — Fernando Monteiro
Вимоги до FullStack
Уже декілька років, а я впевнений, що й у 2023-му це також буде актуальним, до вимог додають ще знання з напряму DevOps. Тобто розробнику, окрім свого поля знань, ще потрібно розуміти, як усе працює на продакшні: як запустити backend, знати, що таке CICD, як віддати статичні дані клієнту в frontend і як завести в докері backend.
У нашому проєкті є DevOps-команда, яка нам із цим допомагає, але все одно потрібно орієнтуватися в цих процесах, адже у випадку якихось проблем під час розробки, знання нюансів DevOps збереже час і сили.
Плюси та мінуси професії
Велика перевага й одночасно недолік бути FullStack розробником — це те, що ти сам контролюєш реалізацію вебфічі. Тобто коли робиш лише backend-частину, то це як у тому жарті: «На backend все працює, це проблема на frontend». А от коли ти FullStack, то повністю займаєшся реалізацією двох частин і відповідаєш за все. І тільки ти можеш «накосячити» в реалізації.
Також треба завжди встигати вчити, що нового є у двох напрямах паралельно. Адже якщо ти будеш використовувати застарілі інструменти, то краще від цього нікому не буде.
Напрям FullStack ідеально підходить для тих, хто любить контролювати випуск функціональності на проєкті. Деяким людям таке не подобається, а більше до душі реалізація UI/UX, щоби все було pixel perfect. А іншим — навпаки, подобається backend, їм цікаво зробити так, щоб з архітектурної точки зору все було зроблено правильно, щоб швидко віддавалися результати, щоб все працювало чітко на стороні й беку, і з боку IP. Так от, крутий FullStack розробник — це той, кому подобається й перше, й друге.
Куди далі
Якщо ви вже Senior FullStack, або Expert, або навіть Principal FullStack Developer, то потім іде вища позиція — Solution Architect. Це експерт вищої ланки, який бачить майбутній проєкт повністю, до дрібних деталей: як буде зроблений бекенд, як він буде працювати з базою даних і фреймворками. У нього є чітке розуміння, як побудувати рішення та як саме вони будуть працювати, та як зробити проєкт кращим у функціональному плані.