Сегодня я кратко (или не очень) изложу свои мысли о том, стоит ли быть fullstack разработчиком, какие плюсы и минусы у такого пути развития и для кого такое направление выгодно.

Немного вводной информации — а кто такие эти ваши fullstack»и?

Ранее fullstack»ов не было, точнее, они были, но носили немного презрительное название «веб‑мастер». Их стек достаточно стандартен: PHP для backend, MySQL в качестве базы данных и HTML, CSS, JS + JQuery для работы с клиентской составляющей. В их работу входило создание сайтов с нуля. С развитием технологий появилось и разнообразие стэков для разработки. Из популярного это Angular + Java + PostgreSQL или React + NodeJS + MongoDB. Однако количество связок технологий не ограничивается этими двумя, так как для backend»a разработчик мог выбрать что‑то из:

  1. PHP

  2. Python

  3. Ruby

  4. JavaScript

  5. Go

  6. C#

  7. Java

  8. C++

  9. И черт знает чего еще…

…а для frontend»а из:

  1. React

  2. Vue

  3. Angular

  4. JQuery

  5. Ember

  6. И снова черт знает чего еще…

Ну и не стоит забывать, что большинство технологий дают выбор использовать TypeScript или нет.

А ведь еще нужно работать с базами данных, у которых тоже есть свои подвиды. Тем не менее из‑за их общей схожести оставим, что есть базы семейства SQL и базы не SQL вида (NoSQL). Понятно, что есть популярные сочетания и вы вряд ли встретите сочетание Java + Vue (без TypeScript) + MongoDB (NoSQL), но все же комбинаций стеков можно насчитать немерено.

Однако сейчас есть тенденция добавлять к Fullstack разработке еще и мобильную разработку. Это логично и правильно (так как мобильное приложение очень похоже на frontend), но теперь стек обычного fullstack разработчика похож на описание всех технологий в компании.

Что‑то я сам потерялся. Оно и понятно, ведь всё это обильное разнообразие на самом деле вводит в замешательство. Однако, если вам кажется, что я пугаю людей, которые хотят начать свою карьеру с fullstack разработки… вам не кажется, так как я правда не считаю fullstack хорошим вариантом для старта. Но в отличие от веб мастеров, fullstack разработчики обычно не занимаются разработкой всего приложения с нуля, почти никогда.

Я знаю про четыре применения fullstack разработчиков:

  1. Разработчик одного направления — Front или Back. В нужный момент его можно перекинуть на тёмную стороны силы для тушения дедлайнов, но часто это не называют fullstack»ом, а указывают в вакансии как «желательно общее понимание темной стороны силы».

  2. Для создания модулей приложения одним человеком. Часто это практикуется в компаниях, которые продают время разработчиков и не создают свои продукты. Здесь fullstack»и могут быстрее поправить полностью незнакомый модуль, так как им не нужно договариваться с другими разработчиками — сам поправил и back, и front.

  3. Для работы, где пересекаются технологии и front»a и back»a, но там обычно еще и DevOps»ы замешаны, поэтому сверх всего вышеописанного нужно будет хотя бы базово понимать суть их работы.

  4. Делать сайты с нуля — редко, но бывает.

Теперь разберем мотивы тех, кто стремится стать fullstack разработчиком:

  1. Больше денег

  2. Больше вакансий

  3. Разнообразие

  4. Перспективы

Вроде это основные причины из‑за которых люди идут на тропу fullstack.

Высокие зарплаты

Начнем с высоких зарплат. Будем сравнивать Junior и Senior уровень во frontend»е, android и backend»е. Для чистоты backend будет на NodeJS, PHP и Go.

Junior Frontend (252 вакансии)

image.png
Junior Frontend

Junior Android (59 вакансии)

image.png
Junior Android

Junior Backend NodeJS (14 вакансий)

image.png
Junior Backend NodeJS

Junior Backend Go (115 вакансий)

image.png
Junior Backend Go

Junior Backend PHP (29 вакансий)

Junior Backend PHP
Junior Backend PHP

Junior Fullstack (35 вакансий)

image.png
Junior Fullstack

Теперь посмотрим на Senior уровень:

Senior Frontend (890 вакансий)

image.png
Senior Frontend

Senior Android (233 вакансии)

image.png
Senior Android

Senior Backend NodeJS (68 вакансий)

image.png
Senior Backend NodeJS

Senior Backend Go (310 вакансий)

image.png
Senior Backend Go

Senior Backend PHP (167 вакансий)

image.png
Senior Backend PHP

Senior Fullstack (162 вакансии)

image.png
Senior Fullstack

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

Средняя зарплата fullstack разработчика ниже, чем у профильного специалиста, но и возможность получать более 600.000 достаточно неплохая. Получается, что смысла идти в fullstack из‑за денег нет? Скорее всего. Да, ваша зарплата может вырасти на текущем месте работы, скорее всего это и есть те 600.000+, и это хороший плюс, но вот смена работы для вас будет уже не такой приятной. Подробнее про это в следующих пунктах.

Больше вакансий

Продолжаем смотреть на графики и понимаем, что это тоже неправда. Вакансий сильно меньше, чем у большинства узких специалистов. Однако тут нужно сделать уточнение — давайте разобьём fullstack разработчика на основные навыки и посмотрим вакансии по отдельно взятым технологиям:

image.png

Тут мы уже можем получить гораздо более высокий охват вакансий, но тут как с поиском подруг в Таиланде — нужно внимание к деталям

image.png

Сразу отвечу на ваш вопрос: «а почему Senior превратился в два Middle и одного Junior?». В теории возможно знать все на Senior уровень, но от Fullstack»ов не требуется уметь во все тонкие механизмы одной технологии. Из‑за этого большая часть Senior разработчиков узкого профиля будут на голову выше. Никто не запретит продавать себя Senior Fullstack разработчику как Senior Java разработчика, так как часть своего времени вы тратили на совсем другое. На мой взгляд, имея одинаковый опыт с другим кандидатам узкого профиля будучи fullstack»ом, у вас мало шансов продать себя.

И тут мы понимаем, что у нас много навыков, которые многим нужны, но в тот же момент мало кого интересует платить вам за знание DevOps и Angular на позиции Java разработчика. В итоге мы получаем три эффекта, приятных или нет, решайте сами:

  1. Смена работы превращается в долгий поиск или снижение зарплаты

  2. При смене работы вы точно что‑то не будете знать, из за большого разнообразия технологий на рынке.

  3. При решении остаться в рамках одной компании, вы сможете расти как специалист или менеджер (про менеджера чуть дальше)

Разнообразие

Тут сложно поспорить, вместо создание форм обратной связи вы будете создавать формы обратной связи и CRUD (Create Read Update Delete) для нее….

Если серьезно, то все зависит от проекта, если вы попали на проект: Админка для большого приложения, то выше сказанное для вас не шутка, а суровая реальность. На подобном frontend или backend разработчик начнет скучать за 100 единиц времени (для каждого индивидуально, поэтому условные единицы), а fullstack сможет лавировать 150–300 единиц времени, но вам все равно будет скучно. В тоже время на крутом и динамичном проекте вам будет некогда скучать, что как узкий специалист, что как fullstack.

Перспективы

Единственный настоящий плюс. Если вы сможете уместить в голове множество процессов в вашей компании и искать пути для улучшений этих процессов, то вы станете идеальным кандидатом в Product owner»ы или Team lead»ы, так как вам уже знакомы многие тонкости проекта и технологий. В то же время это вам поможет лучше понимать, как выглядит весь цикл разработки, что будет полезно на более высоких должностях.

Вот мы и получили дополнение к одному из пунктов — При решении остаться в рамках одной компании, вы сможете получить определенный бонусы, и перспективы роста выше, чем у узких специалистов.

Итог

FullStack это возможность для роста внутри компании. Вы должны стать Middle или Senior «что‑то» разработчиком, а потом уже можете расти как FullStack. Это может быть не самым рациональным маршрутом, но это возможность получить новые навыки и расти в статус менеджеров или полностью менять вектор развития, например, с Java backend на Angular Frontend.

Для Junior специалистов не стоит даже думать о Fullstack разработке. Сейчас в одной специальности знаний слишком много и тратить время на изучение второй технологии слишком дорого для вас. Станьте хотя бы Middle разработчиком, а дальше уже можно переходить в Fullstack, но подумайте над причиной этого перехода, возможно, вам это совсем не нужно.

Комментарии (22)


  1. gmtd
    29.03.2024 07:32
    +4

    Что-то я сам потерялся.

    Очень заметно.

    Fullstack - это в первую личностный профессиональный рост и понимание, как всё работает в целом.

    Чистый фронтендер - это как ярко выраженный правша в мире амбидекстров. А иногда и просто человек с одной правой рукой, когда у других есть и руки, и ноги.


    1. IT-VAVILON Автор
      29.03.2024 07:32
      +1

      Ваша точка зрения мне понятна, однако в самой статье говорится, что развитие всех навыков занимает много человекочасов, которые можно потратить на более глубокое изучение одного направления. В итоге при поиске работы по узкому профилю можно сильно проигрывать узконаправленным специалистам.Графики с медианами зарплат тоже не с потолка взяты.Если вы смотрите на фулстэк разработку с позиции профессионального роста как разраб, то прекрасно, что вы так относитесь к своему делу. Тем не менее, я попытался рассмотреть вопрос ещё и с позиции карьерного роста и з/п, подкрепив опять же графиками.Ну и комментарий в духе "фронтэндер/бэкэндер - это человек с одной руков в мире, где у всех и руки, и ноги" мне явно говорит, что вы считаете фулстэков на голову выше. Хотя любой менеджер вам растолкует, насколько удобнее и быстрее делегировать задачи разным людям.


      1. SeokkySss
        29.03.2024 07:32
        +2

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

        А зачем осуществлять поиск работы по узкому профилю, если изначально прикладывались усилия к развитию "всех навыков"? Вы сами, судя по вашей статье, в курсе, что на рынке есть спрос на фулстеков. Так к чему же тогда этот пример с поиском работы по узкому профилю?

        В итоге при поиске работы по узкому профилю можно сильно проигрывать узконаправленным специалистам.

        А еще если фулстек будет откликаться на вакансии маляра, то он будет и того сильнее проигрывать узконаправленным специалистам


        1. IT-VAVILON Автор
          29.03.2024 07:32

          Ну про это вроде уже было сказано, если проект закончился, надо искать работу, а спрос на fullstack меньше чем на узкий профиль почти во всех ЯП, ну и найти именно свое сочетание, условный PHP + React может быть достаточно сложно, итог, подумайте а стоит ли оно того.


          1. gmtd
            29.03.2024 07:32
            +3

            А фулстек чисто на реакт не может пойти?
            Он тупее простых реактеров?


            1. IT-VAVILON Автор
              29.03.2024 07:32
              +1

              Может, и про это я говорил в статье, что в случае поиска узкой вакансии после работы fullstack, потенциальных вакансий больше.


              1. gmtd
                29.03.2024 07:32

                Ну про это вроде уже было сказано, если проект закончился, надо искать работу, а спрос на fullstack меньше чем на узкий профиль почти во всех ЯП, ну и найти именно свое сочетание, условный PHP + React может быть достаточно сложно, итог, подумайте а стоит ли оно того.

                А тогда накой вот это ваше утверждение?


                1. IT-VAVILON Автор
                  29.03.2024 07:32
                  +1

                  Прочтите комментарий SeokkySss на который я отвечал


  1. Meth_0d
    29.03.2024 07:32
    +1

    "Разнообразие" и "Перспективы" - одинаковый текст внутри. Поправьте, пожалуйста.


    1. IT-VAVILON Автор
      29.03.2024 07:32

      Спасибо, поправил


  1. blik13
    29.03.2024 07:32
    +2

    Есть серьезные подозрения что почти у каждого своё понимание кто же такой этот fullstack и потому в начале статьи стоило более формально описать кем же нужно или не нужно становиться.


  1. SeokkySss
    29.03.2024 07:32
    +4

    Ранее fullstack’ов не было, точнее, они были, но носили немного презрительное название “веб-мастер“.

    Как раз таки наоборот, с фулстеков все и начиналось. Ничего презрительного в этом не припомню. ВК, например, изначально делался исключительно руками фулстеков. Чистых фронтов начали плавно нанимать лишь в 2022 с учетом того, что эти фронты все еще периодически продолжали залезать в php-код, чтобы внести необходимые правки или даже накидать новую логику.

    Однако сейчас есть тенденция добавлять к Fullstack разработке еще и мобильную разработку.

    Да ладно? Вот это поворот

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

    Какая-то мешанина с терминологией пошла уже

    Стоит ли становится Fullstack разработчиком

    Становиться


  1. panzerfaust
    29.03.2024 07:32
    +4

    2 аргумента против и 1 за от бывшего фулстека.

    Против №1. Фулстеки - вечные мидлы.

    Против №2. Часто если в компанию требуется разраб ни рыба ни мясо,то там и проект ни рыба ни мясо. И фронт жиденький и бэк недалеко от Pet clinic ушел. Руку набить можно, а стать крутым профи - вряд ли. Особенно если там все остальные тоже фулстеки, которые см. выше.

    За. Это прикольно. Мне нравилось писать на ангуляре и изучать CSS. Переключение между стеками как смена деятельности - мозг отдыхает. В плане удовлетворения от работы это был мой лучший проект.


  1. Batalmv
    29.03.2024 07:32
    +4

    Сначала прикол. Fullstack Junior - это получается ничего не знает, ничего не умеет - но везде :)

    По опыту - очень редкая птица, банально надо и там, и тут. Знать что-то можно, кодить можно, но условно Senior и там, и тут - вериться слабо (но сейчас может прибежать кто-то и написать - я такой)

    Сочетание условно Senior в одном и недомиддл в другом - часто, но мало полезно. Реально надо вот найти проект/команду где модно применить оба навыка. Что-то небольшое, где условно 2+2 дорого, проэтому берем 2+1, где один из "2" будет помогать там, где "1".

    --------------------

    Как по мне, специально смысла идти нет. Но если хочется и есть время - почему бы и нет. За 10+ лет работы я думаю много кто чисто формально может на себя налепить Senior + Junior == fullstack Senior :) Собесебование и потом (если конечно плучится пройти) работа все покажут


    1. IT-VAVILON Автор
      29.03.2024 07:32
      +1

      Согласен с вами, одной из целей данной статьи было предостеречь джунов от идеи идти в fullstack, так как сейчас много рекламы в духе, стань fullstack middle за 4 месяца