Ищете Full Stack разработчиков в команду?

Full stack developer — это специалист «широкого профиля». Может разработать и браузерную часть (frontend), и серверную (бэкенд), и связать это все с базой данных. Такой разработчик разбирается во всех технологиях, нужных для проекта. Это требует много времени и опыта, так что 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 разработчик успевает следить за всеми важными тенденциями. Но при таком широком круге профессиональных интересов это весьма непросто.