Перевод статьи «Why the term ‘T-shaped’ is better than the term ‘full-stack’.».
Я считаю, что термин «full-stack» слишком часто понимается превратно, а потому нуждается в замене.
Давайте разберем следующие вопросы:
- Что такое full-stack? Что этот термин означает?
- В чем проблема с его использованием?
Примечание: мы будем говорить о термине как таковом, а не о разработчиках.
Что такое full-stack?
Когда о разработчике говорят, что он — full-stack, это означает, что он имеет опыт работы со всем стеком приложения — фронтендом, бэкендом, конвейером и автоматизированным тестированием. Но такой разработчик не является экспертом по каждому направлению (хотя у него могут быть личные предпочтения).
Full-stack Developer (full-stack-разработчик) — это тайтл, привлекательный для очень многих разработчиков, но я не из их числа.
В чем проблема с «full-stack»?
Для непомерно большого числа менеджеров по найму и рекрутеров full-stack-разработчик это кто-то вроде волшебника. Он эксперт по бэкенду, эксперт по фронтенду, эксперт по конвейерам и по автоматизированному тестированию он тоже эксперт. А стоит столько же, сколько любой другой разработчик. Так что, по представлению работодателей, это шанс получить четырех разработчиков по цене одного.
Звучит смехотворно, правда? Но именно так зачастую и воспринимают термин «full-stack». Я считаю, что это недопонимание может быть довольно токсичным. Разработчики, специализирующиеся на фронтенде, бэкенде и прочих частях стека, оказываются в проигрышной позиции по сравнению с кем-то, кто назовет себя «full-stack», а виновато в этом неправильное понимание термина.
Если в вашем приложении UI, UX и доступность должны быть наилучшего качества, в идеале этим должен заниматься фронтенд-разработчик. То же касается и бэкенда (да простят меня читатели за недостаточное понимание этой сферы): если вам нужен специалист, который сможет действительно хорошо нормализовать базу данных или создать идеальные конечные точки API, вам стоит нанять бэкенд-разработчика.
Причем это не означает, что full-stack-разработчики не способны заняться всем этим. У них может быть вполне достойное знание и понимание всех частей стека, что позволяет им самостоятельно заниматься какими-то задачами, но при этом они не обязательно являются экспертами во всех этих областях.
На иллюстрации представлено мое видение full-stack-разработчика, хотя и весьма приблизительно. Рисунок не отражает все в точности, потому что каждый разработчик уникален, и в каждом отдельном случае центральный круг будет сдвинут в какую-то сторону. Но, тем не менее, вы можете видеть разницу между full-stack-разработчиком и специалистами по отдельным частям стека.
Чем можно заменить термин «full-stack»?
Многие разработчики хотят стать full-stack, но я — нет. Я хочу быть Т-образным разработчиком. Название не такое привлекательное, зато имеет куда более реалистичное значение, чем «full-stack».
Представьте себе букву «Т». Длинная вертикальная черта это как бы тело, а горизонтальная — шляпа.
Под телом мы понимаем вашу экспертную область — ту сферу, в которой у вас больше всего навыков и с которой вам больше всего нравится работать. Что касается меня, это фронтенд-разработка.
Более короткая горизонтальная черта, играющая роль шляпы, — это прочие области знаний, которые вам тоже знакомы, но не на таком же уровне, как основная. Это вещи, с которыми вам приходилось работать, которые вы понимаете на достойном уровне, но не обязательно так же хорошо, как эксперт. У меня вот «шляпа» довольно маленькая, потому что я только работаю над изучением бэкенда и автоматизации.
Опять же, это не очень точная аналогия, потому что все разработчики разные. Но я все равно считаю, что «Т-образность» это более реалистичный термин, чем «full-stack».
Можно также считать, что горизонтальная черта буквы «Т» символизирует широту познаний, кругозор, а вертикальная — глубину.
На рисунке представлено, как, по моему мнению, выглядит моя буква «Т». Моя основная сфера деятельности — фронтенд и связанные с ним технологии, но я также соприкасался с C#, Selenium и автоматизацией.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]