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

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

Немного вводной информации – кто эти ваши пьяницы?

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

  1. PHP

  2. Питон

  3. Рубин

  4. JavaScript

  5. Идти

  6. С#

  7. Джава

  8. С++

  9. И кто знает, что еще…

…и для интерфейса от:

  1. Реагировать

  2. Вю

  3. Край

  4. JQuery

  5. Угли

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

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

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

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

Как-то я заблудился. Это и понятно, ведь все это богатое разнообразие на самом деле сбивает с толку. Но если вы думаете, что я пугаю людей, которые хотят начать свою карьеру в сфере разработки полного стека… не думайте так, потому что я действительно не думаю, что полный стек — хорошее место для начала. Но в отличие от веб-мастеров, Full-Stack-разработчики обычно не разрабатывают целое приложение с нуля, почти никогда.

XBNFNM   Найдены три самые дешевые «однушки» в Москве

Я знаю четыре варианта использования для разработчиков полного стека:

  1. Разработчик одного направления – фронтального или тылового. В нужный момент его можно перевести на темную сторону силы, чтобы уложиться в сроки, но зачастую это не называется фуллстаком, а указывается в позиции как «желательно общее понимание темной стороны силы». “

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

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

  4. Создание сайтов с нуля — редкость, но такое случается.

Теперь давайте посмотрим на мотивы тех, кто стремится стать Full Stack разработчиком:

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

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

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

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

Кажется, это основные причины, по которым люди идут по пути полного стека.

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

Начнем с высоких зарплат. Мы сравним младшие и старшие уровни во фронтенде, андроиде и бэкенде. Для ясности бэкенд будет на NodeJS, PHP и Go.

Младший фронтенд (252 вакансии)

изображение.png

Младший фронтенд

Младший Андроид (59 вакансий)

изображение.png

Младший Андроид

Младший Backend NodeJS (14 вакансий)

изображение.png

Младший бэкенд NodeJS

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

изображение.png

Младший бэкэнд Go

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

Младший бэкэнд PHP

Младший бэкэнд PHP

Младший Fullstack (35 вакансий)

изображение.png

Младший полный стек

Теперь давайте посмотрим на старший уровень:

Старший фронтенд (890 вакансий)

изображение.png

Старший фронтенд

Младший Андроид (233 вакансии)

изображение.png

Младший Андроид

Старший бэкенд NodeJS (68 вакансий)

изображение.png

Старший бэкенд NodeJS

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

изображение.png

Старший бэкэнд Go

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

изображение.png

Старший бэкэнд PHP

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

изображение.png

Старший полный стек

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

XBNFNM   Эксперты обсудили пути повышения цифровизации рынка грузовых перевозок - Бизнес и Финансы

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

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

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

изображение.png

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

изображение.png

Сразу отвечу на ваш вопрос: “почему старший стал двумя мидлами и юниором?” Теоретически можно знать все на старшем уровне, но фуллстеки не обязаны знать все тонкие механизмы одной технологии. Из-за этого большинство старших разработчиков с узким профилем будут на голову выше. Никто не запретит вам продать себя Senior Fullstack Developer в качестве Senior Java Developer, поскольку часть своего времени вы потратили совершенно на что-то другое. На мой взгляд, у вас мало шансов продать себя с таким же опытом, как у других узкопрофильных кандидатов, и быть фуллстеком.

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

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

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

  3. Если вы решите остаться в одной компании, то сможете вырасти как специалист или менеджер (немного подробнее о менеджере)

XBNFNM   Прогнозы цен на Chainlink: готова ли LINK «выйти на Луну» во время этого бычьего цикла?

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

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

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

Перспективы

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

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

Нижняя линия

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

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

Source