{"id":14263,"url":"\/distributions\/14263\/click?bit=1&hash=b4dc4ce4b906960991e4705d10ce304ff5052bead202f1bda35bfb08e31596b1","title":"\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u043e\u043a\u0440\u0430\u0441\u0438\u0442\u044c \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443 \u0432 \u0447\u0451\u0440\u043d\u044b\u0439","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"edca0fea-02f8-5eb8-ae8c-3678b2acc040"}

Full-stack разработчики против всех. Самый жесткий спор вокруг полного стека (в конце - опрос)

Стартапер, IT-директор и дизайнер обвиняют full-stack разработчиков в нереальности их списка навыков, низком качестве продуктов и отсутствии универсальности. Full-stack разработчики защищаются.

В своем блоге на vc.ru IT-Академия Алексея Сухорукова приводит самые жесткие и противоречивые мнения профессионалов IT-индустрии о том, существуют ли на самом деле full-stack разработчики и насколько хорошо они справляются со своими задачами.

По данным ежегодного отчета StackOverflow (в 2018 году в опросе приняли участие около 100 000 разработчиков со всего мира) почти 50% из них считают себя full-stack разработчиками.

Первые поисковые запросы full-stack developer появились не раньше 2010 года. И с этого момента их количество начинает сильно расти. На графике изображена динамика популярности (100 баллов - максимальная популярность) запроса full-stack developer во всех его вариациях в Google.

Full-stack developer - сегодня это уже отдельная категория специалистов, крайне востребованная и распространенная. Однако не все согласны даже с самим фактом ее существования.

Сегодня в нашем материале противники понятия full-stack предъявят свои жесткие обвинения по поводу качества, универсальности и реальности существования таких разработчиков. А сами full-stack разработчики их мнения будут опровергать.

В центре внимания - три самых острых вопроса об этой профессии

1. Возможно ли знать всё из списка требований для full-stack?

ПРОТИВ. Скотт Хадфилд, CTO and Co-founder, стартап Hello Pretty

“Настоящие” full-stack разработчики существуют — так же как существуют гении и люди, которые программируют с 12 лет. Описание “full-stack developer” так же бессмысленно как “гений” или “тот, кто может сделать все что угодно”. Раскрою эту мысль поглубже. Иллюстрация ниже показывает неполную версию того самого “stack”, о котором говорится во всех этих вакансиях.

В большинстве случаев разработчику нужны только одно или два умения из каждого слоя. Некоторые умения можно получить за пару часов (например, простейшая компиляция с помощью “./configure && make && sudo make install” или использование VPS). Получение других умений может занять годы.

То, что ожидается от разработчика «полного стека», намного превосходит возможности обычного человека. Да, есть люди, которые на это способны, я знаю некоторых из них. Но также есть много замечательных разработчиков, дизайнеров и менеджеров проектов, которые точно не подходят к понятию full-stack. Есть и те, кто называют себя full-stack, но едва ли могут определить более полудюжины слов в стеке, который я разместил выше

ЗА. Джошуа Бемэндерфер, Christian Developer & Designer, Web Dev at @creationnews

Я не думаю о разработчике «полного стека» как о ком-то, кто владеет всеми этими инструментами. Он владеет по одному или двум в каждой области и имеет необходимый фон, чтобы легко адаптировать свой опыт к другому набору инструментов.

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

Основываясь на этом понимании, я уверенно могу назвать себя разработчиком полного стека. Тем не менее, я предпочитаю термин «Разработчик» или «Инженер-программист» только потому, что они немного менее злокачественны и довольно неспецифичны.

2. Может ли full-stack разработчик сделать качественный продукт?

ПРОТИВ. Робин Рендл, product designer, Gusto

Я вижу плохой дизайн повсюду в интернете, и я считаю, что это из-за недостатка навыков. Не потому, что дизайнеры плохо подготовлены к поставленной задаче, или из-за того, что инженеры не знают веб-стандартов. Нет, причина в том, что существует целый спектр навыков веб-разработки, которые остаются полностью проигнорированными. Несмотря на доказательства того, что front-end development - это целенаправленная деятельность, требующая полной занятости, я вижу, что многие компании нанимают инженеров full-stack.

Я постоянно вижу дико недоступные интерфейсы, которые не имеют фокусных состояний и форм, которые не позволяют эффективно перемещаться с помощью клавиатуры. Я вижу непригодные мобильные интерфейсы и гигантские веб-приложения, медленные и неуклюжие, потому что никто не просчитал, как браузеры работают на самом базовом уровне. Если вы нанимаете инженеров с полным стеком, то вы получаете недостаток фокуса и опыта. Потому что нет такого понятия, как единорог, и нет такой вещи, как инженер с полным стеком.

ЗА. Марк Лукидес, VP Content Strategy, O'Reilly Media

Full-stack разработка – это умение воспринимать самые разнообразные идеи. Со временем такой талант будет становиться все более востребованным. Быть «full-stack разработчиком» не означает мгновенно переключаться с обслуживания кластера Hadoop на программирование связующего ПО на Java, а потом на JavaScript, работающий исключительно в браузере. Специализации придуманы не зря. Но разработчик, понимающий весь стек технологий, будет писать более качественные приложения.

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

По мнению Марка Лукидеса, full-stack разработчики это не единороги, как их некоторые представляют. Они больше напоминают дерево, разветвляющиеся на инструменты, облачные сервисы, дизайн, данные и сеть.

Чем активнее вы воспринимаете различные идеи, тем больше вы узнаете о других специализациях, а не только о вашей собственной. Тем более эффективно вы будете работать – по той простой причине, что научитесь взаимодействовать с коллегами. Более того, обладая обширным арсеналом идей и концепций, вы будете лучше справляться и со своими основными задачами. Вот к чему мы стремимся, именно в этом и заключается вся польза full-stack разработки.

3. Является ли full-stack разработчик универсалом?

ПРОТИВ. Брайан Ринальди, Director of Content, Progress Software

Давайте рассмотрим концепцию «разработчика полного стека», которую в последнее время все горячо используют. Особенно на таких сайтах как Hacker Noon или Medium, которые пытаются помочь начинающим разработчикам стать «разработчиками полного стека». Все больше и больше компаний публикуют вакансии, где требуется «разработчик полного стека».

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

Перечисленные в этом списке требования кажутся мне смешными. Полный стек - это термин, который определяет то, чего не существует, не может существовать, потому что это невыполнимый стандарт. Наших работодатели не должны использовать этот термин - изложите ваши требования, а не скрывайте их под смешным названием. Если у вас хорошая работа в хорошей компании под заголовком «полный стек», попробуйте убедить своего начальника, что было бы лучше использовать более четкое название, которое лучше отражает специфику роли.

ЗА. Стон Чен, full-stack developer

Я пишу свое собственное пошаговое руководство о том, как стать full-stack разработчиком. Знать все компоненты в списке требований к full-stack невозможно, но можно значительно сузить этот список, если вы можете заранее установить стек devops. Кроме того, вы можете охватить каждый «слой» до «достаточного знания», особенно в начале проекта.

Я тренирую свою команду, чтобы они стали «инженерами с полным стеком», но каждый из них фокусируется на определенной области разработки: на iOS, на Android, в Интернете и на API. Преимущественно, мы используем только JavaScript и React / React Native, поэтому я могу менять их позициями. В конце концов, как только структура будет завершена, я могу переназначить их на позиции по конкретным вертикальным стекам. Например, один на потребителя, один на поставщиков, один на admin и один на devops. И все четыре будут при этом взаимозаменяемыми. Такая универсальная команда «инженеров с полным стеком» может существенно сократить расходы на персонал и уменьшить время разработки.

У каждой стороны - свой набор аргументов. Спор вокруг профессии full-stack разработчика только подчеркивает важность ее появления в IT-сфере. Очевидно, что ее содержательное наполнение и значение самого термина еще будут меняться.

Опрос

Существуют ли full-stack разработчики? 
Нет, это миф, такие разработчики не отвечают заявленному списку навыков.
Да, они работают и на стороне сервера, и на стороне клиента. 
Показать результаты
Переголосовать
Проголосовать
0
57 комментариев
Написать комментарий...
Алексис Второй

Фуллстеки часто это те, кто делает свой продукт от и до. Да, не идеально в каждой составляющей, но хорошо (не плохо) и эффективно (бюджетно).

Не вижу ничего нереального, так как возьмите любой малый бизнес/ИП, который пытается быть актуальным — тут и сайт сделай, и рекламу продумай/запусти, и маркетинг, и дизайн печатный/веб, и бухгалтерию и учёт веди, и с сотрудниками договорись, и клиентам будь добр угоди, и договоры составь. Хотя на каждое направление, по-хорошему, надо иметь профильных и опытных людей, как в среднем и крупном бизнесе.

Ответить
Развернуть ветку
Dima Kotobotov

для быстрого прототипирования (запуска стартапа), нет вариантов набирать 5 специалистов.
Нужен один кто более менее соображает как сделать все, под ключ, и без лишних вопросов, в том числе это все запустить. Потом можно улучшать качество набирая ТОПвых спецов по каждому направлению.
П. С. сам фулстэк делаю

Ответить
Развернуть ветку
Mikhail Mokhov

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

Ответить
Развернуть ветку
Saucedo Puetz

Этот вопрос из разряда существует ли идеальный программист который может если не все то хотя бы половину из всего?
Ответ:существует, посмотрите требования к каждой второй вакансии

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
9 комментариев
Make Luv

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

Ответить
Развернуть ветку
Никита Андреевич

Нельзя. У тебя по моему мнению нет двух составляющих: DevOps+веб-дизайн

Ответить
Развернуть ветку
7 комментариев
Mkha Stas

О чем спор то? Когда у тебя стартап или новый проект, и тебе надо MVP - берешь фулл-стек девелопера, и он тебе и фронт и бек и девопс. Пошло дело? Берешь профильного в область которая требует развития, всё. Дальше фулл-стек, если толковый, идет или в лиды разработки, т.к. в крусе что и где было, или в другой проект.
А спор из серии "Мой код красивее твоего" ведется только между разработчиками и только их интересует, заказчику пофиг на красоту вашего кода, ему надо чтобы работало.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
2 комментария
Theodoro Karalenka
и имеет необходимый фон

Бэкграунд тут нельзя перевести как фон. Набор навыков - это не фон %)
Какой у вас фон? Зелёный в горошек

Ответить
Развернуть ветку
Shoo

Ох уж эти увлекательные истории про фуллстэков на реактнейтиве.

Ответить
Развернуть ветку
Nick Sidorov

Так тут все зависит от того, что подразумевать под определением full-stack developer. Если иметь ввиду "знает все везде и на серваке и на мобилках и devops и на богомерзком JS все сам напишет и рекламу запустит, а еще и поет хорошо", то это одно. А если имеется ввиду "и там и там может поработать, пусть неидеально, но все же", то это совсем другое.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Dmitriy Alekperov

ой, прохожу регулярно это на собеседованиях. 30-40 страшных слов в навыках, а начинаешь спрашивать - "ой это давно было", "почти не касался", "дорабатывал на основе того, что было сделано". Это не фулстек, это означает - могу одинаково косячить на всех концах. В общем - ой, всё.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Ivan Pavliuchenko

Из личного опыта. Качество получаемоего продукта на выходе от команды фулл-стак разработки очень низкое. Это касается и серверной части и фронтеда. Лучше сделать что-то одно, но на 90% хорошо, чем все и на 30% так-себе.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Konstantin Svischov

Интересно, что в комментах в основном фуллстак массово критикуют, а в опросе он побеждает более чем в 2 раза.

Ответить
Развернуть ветку
Mikhail

Не все готовы сделать камингаут

Ответить
Развернуть ветку
Миша Шарапов

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

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

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

Ответить
Развернуть ветку
Mikhail

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

Ответить
Развернуть ветку
1 комментарий
Konstantin Tyufyakin

Любой разработчик должен иметь представление, как работает фронт и бэк, любой разработчик должен мочь склепать какой-нибудь портал самостоятельно. Но вопрос в качестве работы и последующей поддержке продукта. Актуальным фронтом быть ппц сложно и ресурсозатратно, не говоря уж о фулстеке. Фулстек - это точно среднячок и ниже (ну или гений, как описано в статье).
Никогда не верьте описаниям вакансиям, они либо не понимают специфику вашего труда, либо хотят одной вакансией закрыть десяток. Короче, каждый должен заниматься своим делом, а не срезать верхи кое как. Ведь потом ваш код кто-то будет поддерживать с матерком

Ответить
Развернуть ветку
Dima Kotobotov

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

Ответить
Развернуть ветку
Дмитрий Рахманкулов

Буквально на днях наткнулся на вакансию, где ищется 1 senior специалист по сути на 3 отдельных профессии https://hh.ru/vacancy/28686311 а денег дают на уровне московского middle. Долго ли будут искать?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Alexander Panasenkov

Нод.жс еще в помине не было, когда термин фулстэк существовал. По своей сути до середины нулевых все веб-разработчики были фулстеками, потом с появлением jquery некотрые верстальщики (которые не были разработчиками) решили, что они тоже теперь программисты и назвались фронтендерами. Ну а дальше пошло-поехало.

Ответить
Развернуть ветку
Shoo

Фуллстэк никогда не означал JS разработчиков.
Это JS разработчики ради теребонькания своего ЧСВ решили называть себя фуллстэками.

Ответить
Развернуть ветку
7 комментариев
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Евгений Алленов

Кроме webview ещё RN. А уж какими шагами шагает PWA.

Просто раньше такого не было - что бы один язык на все. А теперь целые проекты на JS пилятся успешно.

Ответить
Развернуть ветку
2 комментария
Konstantin Tyufyakin

Да и что такое фулл стек, что такое junior, middle, senjour. Потом господин "fullstack senjour" на собеседовании такой "специалист вордпресса", что ну их нахрен, сеньеров фуллстеков.

Ответить
Развернуть ветку
Никита Андреевич

Senjour - жё ма пэ сэн-дж’ёр

Ответить
Развернуть ветку
Shoo

Очевидно это зависит от целей. Фуллстэк команда хороша тем, что дает больше гибкости в распределении ресурсов.
На этапе прототипирования и MVP это позволяет быстро фигачить, не создавая лишних боттлнеков на отдельных участниках продукта (избавляемся от ситуации фронт ждет бэк, бэк ждет девопса и етк).
Дальше уже зависит от степени экспертизы в каждой конкретной области у каждого участника.

Когда я говорю, что нам в команду нужен Fullstack разработчик я не ожидаю, что он будет фигачить аки боженька всё подряд. Я ожидаю, что у него есть primary экспертиза и возможность переключаться на горящие задачи в смежных областях.
Надо понимать, что это работает и для не-фуллстэк разработчиков. В конце концов, когда вы ищете бэкенд разработчика вы не ожидаете от него, что он знает ВСЁ про все бэкенд инструменты. Вы ищете конкретное соотношение скиллов в интересующем вас стэке.

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

Ответить
Развернуть ветку
Bucky Bucks

FullStack это вполне обычный случай, человек умеет работать и с бекэндом и фронтэндом. Да он может не знать всех тонкостей фронтэнда или бэкэнда, но вполне может выполнять поставленную задачу. Да этот человек возможно не сможет сделать это настолько хорошо, как человек специализирующийся только в одном направлении и только в одной технологии, но это не значит что такие сотрудники не нужны. А споры просто жутко не логичные, такие программисты не просто существуют, а их БОЛЬШИНСТВО. Даже работаю чисто в бэкенде нужно знать довольно много и о фронтэнде, тк в конечном итоге все это в 99% случаев работает вместе

Ответить
Развернуть ветку
Alexey Pomogaev

Фулстек это про скорость. Можно быть фулстеком, но будешь при этом слоупоком.

Поэтому я бы с удовольствием взял дизайнера-верстальщика, умеющий немного в джаваскрипт, на фронтенд. А сам бы закрыл бекенд и написание фронтенд компонентов по уже готовым прототипам от дизайнера-верстальщика.

Вот к такой фулстек разработке нужно стремиться.

Ответить
Развернуть ветку
FooWarrior

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

Ответить
Развернуть ветку
Фёдор Гребенников

Лично я воспринимаю full-stack разработчика исключительно как человека, который способен в одиночку, без привлечения других специалистов, решить задачу по разработке какого-то ПО.
В контексте моей деятельности (работаю в сфере заказной веб-разработки - сайты + умеренно-сложные веб-приложения) - это человек, способный разработать небольшой веб-сайт/приложение полностью своими силами - от ТЗ до результата, достойного акта выполненных работ. Без претензий на гениальность и супер-качество каждого слоя итогового продукта. Людей, способных [нормально] выполнить все этапы - мало, но есть, разрабы обычно падают с трибуны full-stack, натыкаясь на дизайн/UI/UX.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Андрей Куликов

Из своего опыта 3D-дизайна сужу - чтобы видеть картинку в общем, знать нужно все. Но хватает обычно стандартных познаний, которые можно получить за пару недель. А профессионалом нужно быть в одной-двух областях. Одинаково хорошо разбираться во всем - задача невыполнимая, особенно с учетом быстрого развития индустрии и появления все новых инструментов.

Ответить
Развернуть ветку
Roman Churganov

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

Ответить
Развернуть ветку
Alexey P

Сидит на работе один такой, тока одно название, толку 0, ни фронта нормально не знает, ни с руби разобраться не может. Есть конечно толковые ребята, но уж точно на вес золота как и дэв опсы в принципе.

Ответить
Развернуть ветку
Dima Kotobotov

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

Ответить
Развернуть ветку
aero

фуллстэк - это скорее состояние разработчика, в котором он может пребывать какое-то время.
фокусируется для себя он все равно на чем-то одном.

Ответить
Развернуть ветку
Вадим

И жнец и чтец и на дуде игрец.
Данная характеристика носит саркастический оттенок, ведь невозможно одновременно профессионально заниматься тремя работами.
Это ещё далекие предки определили.
Сворачивайте базар. Нету фулстэков! Это тщеславный вымысел их же самих!

Ответить
Развернуть ветку
54 комментария
Раскрывать всегда