Мы уже пытались разобраться в том, существуют ли на самом деле fullstack-разработчики и каковы плюсы и минусы такого вектора профессионального развития. С подробным материалом на эту тему вы можете познакомиться здесь. А здесь — развернутая дискуссия в комментариях к этой статье от сторонников и той, и другой позиции.
В этом материале не будем рассуждать о том, что такое специалист полного стека и есть ли у него преимущества перед узкоспециализированными экспертами. Можно долго спорить о реальности и “мифичности” этой профессии, но один факт сомнений не вызывает — работодателям fullstack developer нужен. Об этом говорит общее количество вакансий (каждый день на российских порталах появляется порядка 10 новых позиций с данной формулировкой).
Мы проанализировали около 500 вакансий для fullstack-разработчика и выяснили, какие требования предъявляют к нему работодатели. Не будем брать в расчет требования, не относящиеся напрямую к стеку технологий — английский язык, Agile, желание развиваться, опыт командной разработки, умение разбираться в чужом коде и так далее.
Попробуем выделить общие и ключевые требования работодателей к этим специалистам.
Junior FullStack Developer
Таких вакансий значительно меньше, чем вакансий fullstack более высокого уровня — около 50 единовременно открытых позиций. Средняя зарплата — до 50 тысяч рублей. В редких случаях она стартует с отметки ниже, чем 35 тысяч рублей. В редких случаях она превышает 70 тысяч рублей. Как правило, работодатели предлагают испытательный срок и определение дальнейшего размера оплаты в зависимости от подтвержденных во время него знаний и навыков.
Требования.
- Базовые знания фронтенд-технологий: HTML, CSS, JavaScript. Как правило, требуется какой-то опыт работы хотя бы с одним JS-фреймворком. Чаще всего звучат, естественно, самые популярные — jQuery/Angular/React.js/Vue.js.
- Опыт работы на одном из серверных языков — PHP, Python, Ruby. А вот Node.js в требованиях к junior-вакансиям почти не встречается.
- Понимание основ реляционных (MySQL, PostgreSQL) баз данных. Базы данных NoSQL обычно в таких вакансиях не встречаются.
- Опыт работы с Git (90% всех вакансий).
- Классическое — понимание принципов ООП и паттернов проектирования.
Самые распространенные задачи для таких специалистов — это программирование фронтенда на 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-разработчиков с релокацией заграницу здесь.