Боевой маг: плюсы и минусы full-stack разработчика
В общем-то правы и те и эти — всё это full-stack (ну за исключением починки кулера, офк).
А вот стоит ли вкачивать себя в воина-мага или, может, лучше предпочесть узкую специализацию — вопрос холиварный и выбор каждого.
Минусы
Ты проигрываешь любому разработчику в его специализации. Ожидаемо, что тот, кто пять лет прокачивал только JavaScript — скорее всего круче тебя им владеет. Считай это штрафом за мультиклассовость.
Ты рад бы взять посох двумя руками, но у тебя лапки мультикласс
Ты медленнее качаешься. Тут банальное распределение времени на единицу навыка. Хочешь быть многостаночником и поддерживать себя в форме по всем направлениям — жертвуй скоростью прокачки по каждому.
Ну вы поняли.
Тобой разве что бутылки не будут открывать. Разработчик с пометкой full-stack представляет собой слишком большой соблазн для тех, кто ставит задачи в компании. Нужно где-то что-то допилить, а профильный разработчик в отпуске? У нас же есть фулл-стек! Есть задача, с которой никто не разобрался? У тебя же самые обширные знания, попробуй-ка.
Пс, фуллстек, есть небольшой интересный квест для тебя
Ты будешь постоянно перегружен задачами. Как справедливое следствие из предыдущего пункта. Всё, на что в компании не хватит узких специалистов, улетит к тебе в трекер.
— Тут маленечко багов в трекер записали, пофиксишь?
У тебя будет больше всех ответственности. Большая сила, сынок, это... ну вы знаете. В общем, как мы уже сказали, ты чаще других будешь заниматься сложными задачами, а если что-то вдруг сломается — чинить, скорее всего, тоже придется тебе.
Последняя отмычка: «не потеряй меня и не сломай»
Отпуск? Какой отпуск? В небольших студиях практикуют такую штуку: если два сотрудника с одной специализацией подают заявку на отпуск в одно время, кого-то из них просят подвинуться — иначе в компании на месяц просто не будет определенного типа специалистов. А full-stack в принципе плохо заменяем: конечно, его могут заменить несколько узких разработчиков, но тогда нужно будет пересматривать всю их нагрузку на этот период. Удобнее не пускать тебя в отпуск под разными предлогами.
«Мне это надо!».
Тебя будет швырять как старую шхуну. Шхуна — это такой корабль, а не женщина с пониженной социальной ответственностью, если что. Твоя универсальность будет играть с тобой злую шутку — как только закончится проект, под который тебя специально искали, тебя начнут переключать с проекта на проект — не особо интересуясь, что тебе интересно делать, а что нет. Ты столько всего умеешь, значит — вперед.
Ощущения будут примерно вот такие
Тебе будет сложно сменить работу. Таких разработчиков ищут реже, чем узких специалистов — компаниям всё-таки легче подстраивать процесс под свои задачи, а не одного человека, от которого всё зависит. Семь сотен вакансий по стране — маловато, хотя удаленная работа частично нивелирует такой недостаток.
Ну ладно, всё не так грустно.
Плюсы
Ты чувствуешь свою крутость. Нет, ну правда, человек, который может и сверстать UI, и запилить веб-приложение, и портировать под все мобильные платформы, и серверные пляски с бубном ему под силу — имеет причины гордиться собой.
Ты редкий, как белый носорог. Уникальный набор навыков, которые не сыщешь среди резюме и с бэт-прожектором под мышкой — это гарантия низкой конкуренции. Сможешь проще устроиться туда, где подойдешь по скиллам.
— Да что вы знаете об уникальном наборе навыков!
Твоя работа разнообразнее. Меньше выгораний, меньше однообразной рутины — ты всегда можешь найти себе отдушину. Цени это, твой сосед уже изнывает от php с Битриксом и ночами кодит свою Dwarf Fortress с воксельной графикой.
Тебя сложно заменить и невозможно уволить. Со временем на тебя завяжется столько важных задач, что тебя будет практически нереально уволить без больших потерь для компании. Поэтому даже если будут периоды, когда для тебя не будет полной нагрузки — компания предпочтет сохранить тебя в штате.
Ты можешь поработать в стартапах. Чаще всего им нужны «молодые и амбициозные» (и желательно умеющие работать за семерых). Фулл-стек разработчик подходит под определение — если хочется острых ощущений, куража и тонны опыта, то у тебя больше всех шансов.
— Проект на стадии рабочего прототипа, но по коду там практически всё готово
Тебе легче будет уйти в разработчики-одиночки и развивать свой продукт. Узкому специалисту придется искать команду единомышленников, от кого-то зависеть (и с кем-то делиться). Ты сможешь начать один, а раскормить команду — это всегда успеется.
Как-то так. Ну и раз такое дело и мы публикуемся на Спарке — опрос. Те, кто нанимал на работу фулл-стеков, как они, оправдали свое название? А может, тут есть те, кто считает себя full-stack разработчиком — тогда с удовольствием почитаем вашу точку зрения (про вышенаписанное и так, может, вас давно что-то гложет). В общем, давайте устроим в комментах дискотеку.