20.01.2023

Сергій Немчинський: Міфи і правда про Full Stack

Сергій Немчинський
16 хвилин перегляду
<strong>Сергій Немчинський: Міфи і правда про Full Stack</strong>

У цій статті поговоримо про те, що таке Full Stack розробка, як стати таким розробником та розвінчуємо міфи про цю спеціальність.

 

Моя думка про Full Stack

 

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

 

Затребуваність на ринку

 

Є проекти, де дуже складний бекенд і на цих проектах віддають перевагу бекендерам, їм знання фронту зазвичай не потрібні. На таких проектах або додатково беруть фулстек-розробника, щоб він міг поправити фронт, або ж наймають окремого фронтендера. А є великі проекти, але не з супер складним бекендом та фронтендом. Для таких проектів дуже вигідно брати full stack розробників, які трохи (на достатньому рівні) знаються на беку, і трохи знаються на фронті.

 

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

 

6 міфів по Full Stack розробці

 

  • Міф 1. Full stack розробником потрібно ставати починаючи з фронтенду

 

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

 

  • Міф 2. Full stack розробнику потрібні лише технічні знання

 

Це, звичайно, нісенітниця. Фулстек-розробник – це такий самий розробник, як і будь-який інший, а значить крім технічних знань повинні бути і хороші софт скіли.

Треба розуміти, що full stack розробник – це фахівець, який щось знає з фронту і знає з беку. На фронті є три основні фреймворки: Angular, React, Vue. Достатньо знати один, вчити три не має сенсу. На беку може бути будь-яка мова програмування. Тобто, full stack розробником буде вважатися спеціаліст, який знає, наприклад, React (фронт) + Phyton (бек). Або Angular+С#. Або Vue+Ruby. І так далі. У вас може бути будь-яка комбінація знань з фронтенду та бекенду і все це буде фулстек-розробкою. Тобто, варіацій безліч, тому для мене дуже дивно бачити курси Full stack-розробки.

 

Так от, крім цих технічних знань, фулстек-розробник повинен знати та вміти працювати з базами даних та версткою. Ну і як будь-яким іншим розробникам, фулстекерам потрібні soft skills. 

 

  • Міф 3. Full stack розробник може писати код будь-якою мовою

 

Зазвичай цей міф якраз поширюють продавці курсів фулстек-розробки. Розробник, який хвалиться, що вміє писати код будь-якою мовою – це зазвичай розробник, який не може писати нормальний код взагалі. За фактом, будь-який розробник може написати код будь-якою мовою, але добре він знатиме одну, на якій, власне, і спеціалізується. Девелопер (не важливо якою мовою) досить швидко освоює будь-яку іншу мову, оскільки синтаксис +/- зрозумілий.

 

  • Міф 4. Full stack девелопер має бути експертом

 

Насправді ні. Я бачив і джунів full stack, просто тому, що у них були такі вимоги проекту. Немає жодної дуже серйозної проблеми, щоб окрім своєї мови довчити шматочок тієї технології, яку вимагає проект. Звичайно ж, у міру того як ви ставатимете більш експертним, ви знатимете більше і у своїх технологіях, і в тому, як взагалі ведеться розробка.

 

  • Міф 5. Усі розробники Full-Stack однакові

 

Це черговий камінь у город тих курсів, які навчають фулстек-розробці. Я вже казав, що варіацій Full Stack дуже багато, оскільки поєднань фреймворків на фронті та мов на беку безліч.

 

  • Міф 6. Тільки вивчення JavaScript може зробити вас повноцінним Full stack розробником

 

На JavaScript можна писати і на фронті, і на беку, тому деякі вважають, що якщо працюють з JS на фронті, то легко перейти на бек на Node.js (це теж JS). Але насправді твердження, що фулстек-девелопером можна бути лише вивчаючи JavaScript — це міф. Вивчити Node.js набагато простіше та швидше іншим бекенд-розробникам, тому що Node.js – це про бек. Потрібно розуміти, що синтаксис — це дуже мала і далеко не найскладніша частина вивчення мови. Усі сучасні мови є Сі-подібними, тому синтаксис, наприклад JavaScript, Java та С# дуже схожий. А ось сама фронтент- та бекенд розробка відрізняються одна від одної кардинально. Тому бекендер на умовному PHP або Ruby перевчиться на Node.js набагато простіше ніж фронтендер з JS, просто тому що бекенд-розробник розуміє, які завдання у бека і як це все працює.

 

Тому якщо ви збираєтеся стати фулстек-розробником, не обов’язково упиратися в JavaScript. З іншого боку, JS вам все ж таки допоможе, тому що є загальні інструментарії (той самий npm), є загальні підходи до коду і так далі. Але все ж таки доучувати доведеться дуже багато: робота з базами даних, робота з операційною системою, файловою системою та інші знання, які зазвичай фронтендерам не потрібні. Тому впиратися в JavaScript я не радив би, але якщо дуже хочеться, то чому б і ні. Node.js — досить потрібний напрямок. А курси у нас є за всіма перерахованими напрямками 🙂

 

Як стати Full-Stack-розробником

 

Якщо ваше завдання стати розробником і потрапити в ІТ, то я не радив би зосереджуватися на тому, щоб бути саме фулстек-девелопером. Для того щоб стати хорошим full stack розробником вам потрібно пройти два курси – по бекенд і фронтенд. Якщо ми, звісно, не говоримо про продаж повітря. Коли на якихось курсах вам кажуть, що пройшовши лише один курс ви станете фулстек-розробником, тому що ви там вивчите все що потрібно, швидше за все ви там не вивчите ні фронту, ні бека.

 

Якщо ви хочете добре вивчитися і мати реальні знання для подальшої роботи, виберіть або бекенд, або фронтенд. А далі, в процесі пошуку роботи буквально трохи часу витратите на вивчення якогось простенького фреймворку з фронту. Якщо ви фронтендер, то повчіть щось просте з бека, наприклад PHP. Node.js, до речі, зовсім не простий. Тобто, досить просто мати загальне уявлення та вміти трохи користуватися суміжною технологією. Це значно підвищить ваші шанси знайти першу роботу. Так, всі будуть розуміти, що ви не фулстек-девелопер, але невеликі знання про те, що у вас знаходиться на бейку (якщо ви фронтендер), або те, що знаходиться у вас на фронті (якщо ви бекендер) буде великим плюсом на роботі. Можливо, ви поступово перейдете у фулстек. Це дуже гарний та робочий варіант.

 

Проходити два курси, наприклад, спочатку з бекенду з Java, а це 6+ місяців, а потім з фронтенду, наприклад, Angular, ще 6+ місяців — ну такий собі варіант. Поки ви вчитимете одну частину фулстека, ви вже забудете іншу.

 

Якщо ви навчаєтесь самостійно, не через курси, то я вам співчуваю. Це справді важко, бо досить складно зрозуміти, що треба вивчити. Але якщо ви любите вчитися самостійно і у вас все виходить, то рекомендація та сама — коли ви вже почали подавати резюме, повчіть трохи суміжну технологію.

 

Що робити далі

 

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

 

Але, повторюся, мені здається, що фулстек-девелопер — це не те, на що потрібно цілитися програмістам-початківцям.

 

Завжди ваш Сергій Немчинський