Мы уже пытались разобраться в том, существуют ли на самом деле fullstack-разработчики и каковы плюсы и минусы такого вектора профессионального развития. С подробным материалом на эту тему вы можете познакомиться здесь. А здесь — развернутая дискуссия в комментариях к этой статье от сторонников  и той, и другой позиции.

В этом материале не будем рассуждать о том, что такое специалист полного стека и есть ли у него преимущества перед узкоспециализированными экспертами. Можно долго спорить о реальности и “мифичности” этой профессии, но один факт сомнений не вызывает — работодателям fullstack developer нужен. Об этом говорит общее количество вакансий (каждый день на российских порталах появляется порядка 10 новых позиций с данной формулировкой).

Мы проанализировали около 500 вакансий для fullstack-разработчика и выяснили, какие требования предъявляют к нему работодатели. Не будем брать в расчет требования, не относящиеся напрямую к стеку технологий — английский язык, Agile, желание развиваться, опыт командной разработки, умение разбираться в чужом коде и так далее.

Попробуем выделить общие и ключевые требования работодателей к этим специалистам.   

Junior FullStack Developer

Таких вакансий значительно меньше, чем вакансий fullstack более высокого уровня — около 50 единовременно открытых позиций. Средняя зарплата — до 50 тысяч рублей. В редких случаях она стартует с отметки ниже, чем 35 тысяч рублей. В редких случаях она превышает 70 тысяч рублей. Как правило, работодатели предлагают испытательный срок и определение дальнейшего размера оплаты в зависимости от подтвержденных во время него знаний и навыков.

Требования.

  1. Базовые знания фронтенд-технологий: HTML, CSS, JavaScript. Как правило, требуется какой-то опыт работы хотя бы с одним JS-фреймворком. Чаще всего звучат, естественно, самые популярные — jQuery/Angular/React.js/Vue.js.
  2. Опыт работы на одном из серверных языков — PHP, Python, Ruby. А вот Node.js в требованиях к junior-вакансиям почти не встречается.
  3. Понимание основ реляционных (MySQL, PostgreSQL) баз данных. Базы данных NoSQL обычно в таких вакансиях не встречаются.
  4. Опыт работы с Git (90% всех вакансий).
  5. Классическое — понимание принципов ООП и паттернов проектирования.  

Самые распространенные задачи для таких специалистов — это программирование фронтенда на JavaScript, программирование модулей на PHP и определенные задачи по верстке. Часто идет и упоминание какого-то конкретного фреймворка (в зависимости от стека технологий конкретной компаний), однако в большинстве случае работодатель подчеркивает, что готов сам обучить работе с ним за счет внутренней системы наставничества.

В большинстве junior-позиций в качестве языка бэкенда фигурирует именно PHP. Python, Java и С# встречаются значительно реже.

Опыт работы с SQL — на уровне написания простых запросов.

Middle FullStack Developer

Таких вакансий примерно в 3 раза больше — в районе 150 единовременно открытых позиций. Попробуем выделить наиболее характерные особенности именно middle-позиций.

Диапазон зарплат в основном от 50 до 120 тысяч рублей. Редко она выбивается за эти границы. Средняя зарплата — около 75 тысяч рублей.

Конечно же, здесь предполагается уверенное знание упомянутых выше технологий. Опыт работы — от 2 до 4 лет.

Часто добавляется опыт реализации REST API. В 90% таких вакансий знания одного фреймворка уже будет недостаточно. В базах данных начинает чаще звучать Oracle. Работа с серверами на Linux — в качестве хорошего плюса.

Отдельно скажем и про работу с интерфейсами. В middle-вакансиях это требование встречается на порядок чаще. В основном, требуют знание таких инструментов как Figma, Sketch или Photoshop.

Как минимум в 30% вакансий встречаются требования к базовым навыкам настройки веб-серверов Apache и Nginx, а также опыт работы с системами сборки проектов gulp, webpack.

В каждой шестой вакансии можно увидеть требования о знании TypeScript и продвинутых версий CSS — LESS и Sass.

Приветствуется опыт работы с bootstrap 4 и любыми ORM-системами.

Если речь идет о fullstack-разработчиках на Java, то тут, как правило, фигурирует следующий стек — Java SE, Java EE, JavaScript. И опыт работы в одной из сред разработки: IDEA, Eclipse, NetBeans.

Стоит сказать, что в качестве бэкенд-технологий значительно чаще встречается Python и его фреймворки.

Senior FullStack Developer

Единовременно открытых вакансий с таким уровнем требований больше всего — порядка 300 штук. Нижний предел заработной платы — в районе 90 тысяч рублей. Средний уровень указанных в вакансиях зарплат — 140 тысяч рублей. Требуемый опыт работы — от 3 до 6 лет и выше.

В вакансиях C# фигурирует глубокое знание следующего стека технологий — C # (.NET, .NET Core, MVC) и JavaScript.

В вакансиях с Java — Java 8, Spring Framework, Apache kafka, Hibernate, websockets. Кроме того, здесь почти всегда есть и упоминание Android. Вообще, это одна из ключевых особенностей требований к fullstack-разработчикам уровня Senior — быть посвященным в мобильную разработку.

К базам данных SQL почти всегда добавляется знание NoSQL (MongoDB, Redis).

По фронтенду особых отличий от требований к middle-уровню нет. Список технологий все тот же — JavaScript/jQuery/Angular/React.js/Vue.js. Как минимум базовое знание LESS / SCSS становится обязательным.

Из новых и почти всегда встречающихся требований — знакомство с Linux, опыт автоматического тестирования и Unit-тестирования (умение писать интеграционные и нагрузочные тесты), опыт проектирования микросервисной архитектуры.

Ну и конечно, здесь часто фигурируют требования, связанные с позицией TeamLead — умение управлять командой разработчиков, проведение ревью кода и так далее.

Вакансии дают определенное представление о том, как меняются требования работодателей к fullstack-разработчикам. Предложения для таких специалистов в Новосибирске вы можете найти здесь.  А вакансии fullstack-разработчиков с релокацией заграницу здесь.