Full Stack Developer

Full Stack Developer – це фахівець «широкого профілю». Він може розробити і браузерну частину (frontend), і серверну (backend), і пов'язати це все з базою даних. Такий розробник знається на всіх технологіях, що необхідні для проєкту. Це вимагає багато часу й досвіду, тому Full Stack-програмістів відносно складно знайти.

Замовити консультацію >

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


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


Обов'язки Full Stack розробників

Обов'язки Full Stack-розробника значною мірою залежать і від його досвіду, і від проєкту, у якому він задіяний. Основні обов'язки зазвичай виглядають наступним чином:

  • Розроблення структури та архітектури застосунку.
  • Розроблення адаптивних, кросплатформних застосунків, написання коду для серверної і клієнтської частин проєкту.
  • Інтеграція зовнішніх сервісів на фронт- і бекенді.
  • Розроблення API.
  • Дебагінг.

 

У стартапах обов'язки можна окреслити коротко: «зробити все, що стосується розроблення». Це охоплює завдання як фронтенд-, так і бекенд-розробника.

У великих компаніях фулстек-розробники можуть бути тімлідами, серед обов'язків яких – проєктування застосунку та розподіл обов'язків.

 

Full Stack розробники - основні скіли

Full Stack-розробник повинен мати достатню кількість скілів:

  • Браузерна частина: мова JavaScript (ECMAScript 6), бібліотека jQuery, фреймворки Angular, Vue, React.
  • Серверна частина: щонайменше одна «серверна» мова програмування, наприклад, PHP, Ruby, Java або Python, платформи ASP.NET і Node.js. Фреймворки, наприклад, Rails (на Ruby), Django (Python), Laravel (PHP).
  • Бази даних: SQL, MongoDB та інші.
  • Системи контролю версій (серед популярних – Git, SCCS, RCS, Mercurial, Bitbucket).
  • Best practices у сфері безпеки.

 

Є певні усталені зв'язки технологій, так звані стеки. Наприклад, сертифікація Microsoft Full Stack містить C#, SQL, HTML, CSS, JS, Patterns і AngularJS (додатково).

 

Інші приклади стеків технологій, що використовуються:

  • LEMP: JavaScript – Linux – Nginx – MySQL – PHP;
  • Django: JavaScript – Python – Django – MySQL;
  • Ruby on Rails: JavaScript – Ruby – SQLite – Rails;
  • MEAN: JavaScript – MongoDB – Express – AngularJS – Node.js.

 

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

Запитання про рекрутинг Full Stack розробників

Ми зібрали відповіді на найпоширеніші запитання компаній під час пошуку фулстек-розробників. Якщо у вас залишилися запитання, досвідчені рекрутери INDIGO Tech Recruiters з радістю дадуть відповіді на них.

1. Як знайти хорошого Full Stack Developer?

Хороший Full Stack-розробник завжди завантажений. Знайти його можна через LinkedIn або інші соцмережі, але аж ніяк не на сайтах вакансій. Завдяки тому, що на таких фахівців великий попит, вони зазвичай не шукають роботу. Головне запитання – як переконати відповідного кандидата взагалі поспілкуватися з рекрутером, а тим паче – змінити компанію. Один з варіантів – зацікавити проєктом і можливістю делегувати рутинні завдання (тобто не робити вcе самостійно, а передати частину роботи Frontend- або Backend-розробнику).
Хоча Full Stack Developer може розробити архітектуру, фронт і бекенд-частини застосунку, він не всемогутній. Знадобляться принаймні також дизайнер і QA. Загалом Full Stack Developer може впоратися з тестуванням сам, але витрачати його час на це не варто. Для створення MVP здебільшого вищезгаданої команди з трьох фахівців буде достатньо. Але команда, в якій є як Full Stack-розробник, так і фахівці в окремих сферах програмування, ефективніша. Особливо на великих проєктах.
Як правило, знання й досвід у Full Stack-розробника в кожній окремо взятій сфері не такі глибокі, як у фахівців вузьких напрямків. Але зазвичай цього достатньо для виконання основного завдання – сформувати бачення загальної картини і спроєктувати застосунок. До того ж все актуальнішою стає модель Т-shaped розробника, тобто професіонала з Т-подібною експертизою. Це фахівець, що має глибокі знання в одній сфері, але знається у багатьох.
Full Stack-розробник знає щонайменше JavaScript і хоча б одну «серверну» мову програмування (або платформу Node.js), а також вміє працювати з базами даних.