Читал разные статьи по этому вопросу, но хочется узнать мнение других. Сейчас делаю сайтики на фрилансе, могу в html5/css3/js/jquery и немного в php и sql. До сих пор хочется уйти в back end(хоть я пока там и не особо шарю, но нравится). Но, с другой стороны, не хочется бросать front end. Боюсь того, что если стану fullstack, то буду уметь в back'е и front'е хуже, чем тот же backender и frontender соответственно.
Откуда нам знать границы ваших возможностей? Есть люди, которые могут быть фронтендером, бэкендером и менеджером не теряя в качестве ни по одному из пунктов. А есть те, кто даже фронт осилить нормально неспособен.
Я сам лет 12 был FullStack и даже активно отстаивал точку зрения, что FullStack это круто, это удобно клиентам, это полезно (даже must have) знать все составляющие и тд и тп. Потом я как-то принял решение уйти полностью в бекенд. И спусть несколько лет понял что это было одним из самых важных и самых правильных решений в моей жизни/карьере.
Реально и объективно сравнить хорошего фронтендера с фуллстаком, хорошего бекендера с фуллстаком - сложно. Ибо у всех свой уровень, сложно найти кого с кем реально можно сравнить. Поэтому подкрепленных наукой цифр у меня нет. Но по опыту и ощущениям - фуллстак всегда будет по уровню ниже аналогичного узкого специалиста. Потому что физически он не сможет уделять каждому направлению столько времени, сколько узкий специалист.
Но по опыту и ощущениям - фуллстак всегда будет по уровню ниже аналогичного узкого специалиста. Потому что физически он не сможет уделять каждому направлению столько времени, сколько узкий специалист.
По моим ощущениям узкий специалист не способен осознать работу системы целиком, а это отрицательно сказывается на его возможностях в реализации её части. Вероятно, поэтому в последнее время среди крупных компаний идёт такая оживлённая охота на T-shaped специалистов.
Сергей Горностаев, да, тут есть грань. Иметь понимание (а желательно минимально проходные навыки) по смежным технологиям - обязательно. Чем их больше и уровень лучше - тем, очевидно, больше пользы от такого разработчика. Но есть грань. За этой гранью если разработчик пытается понять тонкости этих смежных направлений, у него попросту начинается нехватка времени, и дальше - продвинулись в одном направлении, просели в другом. Грубо говоря, например для бекенд разработчика под веб нужно кроме серверного языка + БД как минимум понимать верстку (HTML/CSS), фронтенд-функциональность (Javascript, протокол HTTP(S), куки и тому подобное), основы девопс (файловые системы, сетевой стек, кеширование, bash/shell и тому подобные плюхи на сервере). Но уровень всего этого понимания совершенно не должен соответствовать уровню специализированного фронтендера или админа/девопса. Разбираться бекендеру в настройках TCP congestion control в linux kernel версий 2.* против версий 3.* совершенно не нужно - это уже к девопсу.