LINUX.ORG.RU

Fullstack vs Front-end vs Back-end

 , , , ,


0

3

Чуть больше года работаю fullstack разработчиком (.NET + Angular), в марте решил сменить компанию и просмотреть текущий рынок вакансий, что есть по предложениям и зп, обновил резюме и решил откликнуться на всё по тем технологиям, которые знаю. Откликался как на back-end и fullstack, так и на front-end ради интереса. Прошёл много тех собесов и вышло интересно, в особенности на front-end разработчика. Вне зависимости от того, front это или back предлагали +- схожую вилку. На фулла просил больше, так как и скиллов просили больше, но мало кто готов был предложить хороший оффер. По итогам пришёл к следующим выводам. Уровень скиллов и объем знаний продуктового фронедера просто несопоставим с бэкендером в большинстве случаев. На изучение и закрепление в бою скилов бэкендеру потребуется в разы больше времени, чем рядовому фронтендеру, чтоб выбить вкусный оффер. Так же требуемый уровень углубления в технологии и фреймворки так же разный настолько, аж сложилось ощущение, что в большинстве случаев фронтендеров на мидлов готовы брать любого, кто var от const отличает. Про фуллов сказать сложно, так как требовался и уровень поверхностных знаний по всему, и углубление в по каждому, при этом предлагали стыдную вилку. С этого вопросы: по какой причине времязатраты на требования по одинаковой вилки зп фронтендера и бэкендера отличаются в разы, как и уровень скиллов? Почему так недооценены фуллстек разработчики в плане зп? И реально ли фронт для тех, кто не смог в бэк?



Последнее исправление: maxcom (всего исправлений: 1)

Много вопросов и домыслов.

Фуллстек не везде нужны. Да и обычно они все же не так хороши отдельно в беке или фронте. Везде нужно держать руку на пульсе и следить за трендами, фуллстек обычно отстает, если конечно не 24 на 7 все изучает.

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

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

umren ★★★★★
()

Почему так недооценены фуллстек разработчики в плане зп?

Есть версия, что фуллстек часто воспринимается как кодер-эникейщик, этакий пятикрылый семибрюх, на которого можно повесить любую задачу, от проектирования БД до заправки принтера. И ищут, понятное дело, таких чудесных работников обычно шарашки, в которых даже нормальная система контроля версий — уже нешуточная инновация. Отсюда и уровень зарплат.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от Nervous

Не зажали, но после прохождения СБ hr заглох и игнорил сообщения)

SamMorgan
() автор топика

Почему так недооценены фуллстек разработчики в плане зп?

Некоторые конторы так экономят на разработчиках. Хотят всё и сразу, но платить не хотят. Вот и получается такая фигня.

th3m3 ★★★★★
()

Сейчас вот первый раз жизни на шестом десятке лет попал на работу в крупную контору.

Тут всё очень узко и специализировано. Fullstack здесь просто не нужен по причине отсутствия такой «запчасти» в проверенном и отлаженном производственном процессе.

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

Очень непривычно.

Но зато, надо полагать, сам производственный процесс - прозрачен и понятен для управления, минимально зависим от конкретных исполнителей и т.д., и т.п.

Toxo2 ★★★★
()

Это лично твой опыт и твоё мнение. На самом деле контора конторе рознь. На фронте тоже очень много приколюшек, которые ты должен знать.

CryNet ★★★★★
()

Думаю, ты судишь слегка поверхностно. Я вижу это так.

Говноконторки, рога и копыта — одинаково плохо платят любым программистам.

Стартапы — часто выбирают фулл-стек, платят хорошо.

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

Крупные компании обычно не нанимают фулл-стек.

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

Важно понимать, что нет прямой корреляции между тем, сколько времени ты потратил на обучение, и тем, сколько тебе будут платить в профессии. Тут решает два фактора: рынок (спрос/предложение на рынке труда) и глубина твоих знаний и опыта. Умение пользоваться языками программирования или фреймворками — это только база. Твоя стоимость как специалиста определяется в большей степени не этим, а тем насколько ты научился решать проблемы (может быть я не совсем корректно говорю это на русском, problem-solving skills), как глубоко ты разбираешься в предметной области, как хорошо ты разбираешься в технологиях в целом, насколько широко и глубоко ты знаешь те или иные аспекты технологий.

filosofia
()

И реально ли фронт для тех, кто не смог в бэк?

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

Vit ★★★★★
()
Ответ на: комментарий от KernelPanic

Frontend - самое мерзкая разработка из имеющихся

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

Nervous ★★★★★
()
Ответ на: комментарий от Toxo2

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

ООО! я один раз пришёл (14 лет назад) в контору на сб, где такое было и их это сильно достало и они искали, кто могёт и на java писать и на PL/SQL в оракле и js понимать. Так как на коммуникации и на выяснения, кто верблюд тратилось много времени и админ. ресурса. Но денег почему-то давали, как обычному прогеру - ведь 90% задач это java. Поржал и отказался. Возможно, в твоей конторе просто усё впереди, когда их текущая ситуация достанет.

vtVitus ★★★★★
()
Ответ на: комментарий от KernelPanic

Но поскольку голый бэк никому не нужен, то фронтендеры востребованы.

static_lab ★★★★★
()

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

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

На фронте постоянны только названия фреймворков, по факту всё меняется. Реакт на классовых компонентах с редаксом и бутстрапом это конечно хорошо, но react hooks + context + tailwind проще в разы и быстрее написать и поменять. Причем первый вариант еще два года назад был более чем актуален, а сейчас уже всё, от него пахнет нафталином и те кто сейчас так пишет - старые деды.

Утрирую, но логика в целом понятна

Mosi
()
Ответ на: комментарий от LongLiveUbuntu

Иногда и похуже бывает) Была конторка, которая делала внутреннюю софтину для гос заказчика. Им там требовался и жнец и чтец в упаковке .Net разраба. Тех собес был дрочильней, заливали вопросами из серии «А почему ты себя называешь фуллстеком, когда не знаешь React а только Angular? В смысле были свои фронтенд разрабы? У нас в конторке разработчики умелые и умные, и фронт и бэк делают сами. В смысле ты не деплоил проекты, а кто за тебя сервер прода админить будет, девопс чтоль? В смысле с заказчиком разговаривать не будешь? В смысле не будешь OLAP кубы создавать, а кто должен?». При этом вопросов по конкретному стеку .Net-а не было, ни по EF, ни по зайчику, ни про какие-либо алгоритмы или архитектуры. ЗП сравнима с формошлёпером на Angular среднего розлива. После этого решил никогда не проходить собесы в конторы, которые ориентируются на гос сектор.

SamMorgan
() автор топика

в большинстве случаев фронтендеров на мидлов готовы брать любого, кто var от const отличает

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

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

В основном прыгают с одного фреймворка на другой и всё. Формочки как были так и остались, rest так же. Помню как в первой своей конторке в первый и последний год в ней сидел и просто изнемогал от всего того, что упало на голову. На испыталке вообще даже обедать не выходил. Просирал сроки по таскам, а от этого зависило то, повысят тебе немножко твою зпшку или нет. Пока я привозмогал и иногда толком не спал, в это время новички и относительные старперы фронедеры в компании чильно попивая пуэр паралельно от работы пиздели о сериалах. Ох как меня это демотивировало. С одним таким сдружился, уровень его задач был из серии оптимизации скроллов, продумывания того, какой формы и цвета вспывающее сообщение подойдет, ну и подобное. Работал он в конторке буквально на пол года больше меня. При этом уровень его зп на тот момент, как и сейчас, превышало мою. Сейчас сидит за 3к баксов по текущему курсу в каком-то банке по выдаче микрокредитов и так же формошлёпит без запары. После этого момента навсегда запомнил что знания и скилл != размеру зп, по крайней мере в отечественном IT.

SamMorgan
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Было бы забавно, если это она и есть) Благо для тебя она бывшая, но ведь для кого-то будущая) Вот попадёт человек на собес в такую конторку, его разорвут как тузика, унизят и опустят. Потом забъётся в углу под теплым душем с колоссальными нравственными страданиями. И либо нахер бросит это it, или ещё хуже начнёт реально это всё изучать, думая, что это уровень джуна. Ну и будет он из серии «Знаю всё, не умею ничего».

SamMorgan
() автор топика
Ответ на: комментарий от SamMorgan

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

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Ну тоже такое себе имхо. А сейчас как? Тоже на все руки мастер, али уже в глубину .Net-а копаете на норм проекте?

SamMorgan
() автор топика

Некотрое время назад была тема в этом разделе про зарплаты .net и java бэкендеров. Вторые заметно больше получают и без фуллстека прекрасно обходятся. В том треде у ТС вроде даже некоторые коллеги с .net на java перешли поэтому.

<self-ironic>

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

</self-ironic>
PhysShell ★★
()

Отвечает фронтэндер, который нынче пишет бэк на C/C++. Хорошо писать фронтэнд несравнимо сложнее, технологии меняются каждый год, вчера ты писал на Vue.js options API, сегодня уже composition API; точно так же расширяются с каждым годом API самого браузера, причем «просто выучить самый новый» не прокатывает, часто нужно уметь писать под какой-нибудь IE 11, а это отбрасывает половину всех современных фич веба. С развитием реактивных фреймворков возникла мода совать всю сложность логики на фронт, оставляя на бэке элементарные API. В старых приложениях всё было ровно наоборот, бэкэндеры отвечали за большую часть сложности и потому стоили дороже. Но сейчас в среднем по больнице проекте 70% сложности проекта висит на фронте, 30% — на бэке, отсюда спрос и ЗП.

Судя по тому, как ты этого не видишь, в треде правильно написали:

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

byko3y ★★★★
()
Ответ на: комментарий от SamMorgan

Как ни странно фуллстек требовался в один небезызвестный банк с неплохими технологиями

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

byko3y ★★★★
()
Ответ на: комментарий от filosofia

Важно понимать, что нет прямой корреляции между тем, сколько времени ты потратил на обучение, и тем, сколько тебе будут платить в профессии. Тут решает два фактора: рынок (спрос/предложение на рынке труда) и глубина твоих знаний и опыта. Умение пользоваться языками программирования или фреймворками — это только база

Всё шло гладко до последнего предложения. 99% собеседующих в принципе не способны оценить никакую глубину знаний и опыта, вместо этого начинается «что такое контекст» (реальный вопрос из собеса по JS) и «расскажи про оптимизацию кода под архитектуру Haswell» (почти в такой форме был вопрос на кресты) — то есть, какие-то вопросы из узкой ниши, про которые почти никто не знает. Используя твою собственную цитату: твоя стоимость как специалиста определяется тем, насколько хорошо ты сможешь убедить нанимающего манагера и/или заказчика (что одно и то же) в том, что

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

Кстати, я хочу подчеркнуть, что ты прав в

Стартапы — часто выбирают фулл-стек, платят хорошо.
С укрупнением компаний до средних размеров, они сохраняют старых фулл-стек разработчиков, часть из которых переходит в EM/PM. Найм новых кадров обычно происходит с разделением на фронт и бэк

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

byko3y ★★★★
()
Ответ на: комментарий от Nervous

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

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

На одном из собеседований мне так прямо и ставили условие «у нас тут есть заказчик, он под микроскопом сравнивает интерфейс с макетом. Как сайт работает его не волнует, но нужно чтобы было пиксель в пиксель. Сможешь?» — я честно ответил «нет, я лучше сделаю вдоль».

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

byko3y ★★★★
()
Ответ на: комментарий от no-such-file

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

Я в шоке с обратной ситуации: я прихожу, грю «я имею огромный опыт разработки сложных систем», со мной проводят собеседование «на пальцах», даже простой задачки на кодинг не дают, а сразу говорят «извините, по технической части вы слабоват». У меня самого, как бывшего фронтовика, возникает вопрос «чо там на фронте 5 лет щас делают?».

byko3y ★★★★
()
Ответ на: комментарий от SamMorgan

С одним таким сдружился, уровень его задач был из серии оптимизации скроллов, продумывания того, какой формы и цвета вспывающее сообщение подойдет, ну и подобное. Работал он в конторке буквально на пол года больше меня. При этом уровень его зп на тот момент, как и сейчас, превышало мою. Сейчас сидит за 3к баксов по текущему курсу в каком-то банке по выдаче микрокредитов и так же формошлёпит без запары. После этого момента навсегда запомнил что знания и скилл != размеру зп, по крайней мере в отечественном IT

Ну? Так а где твой вывод по поводу того, как тебе на самом деле нужно было правильно работать, чтобы «достичь успеха»?

byko3y ★★★★
()
Ответ на: комментарий от byko3y

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

По поводу фулл-стека ты не прав, я думаю. Там главное качество — способность решать поставленные задачи end-to-end. Да, 80% качества за 20% человеко-часов, но это как раз то, что нужно стартапам. В стартапе всегда ценится результат, а митинги и спринты — это все будет потом, когда компания обрастёт жирком.

filosofia
()
Ответ на: комментарий от filosofia

Да и ситуации конечно разные бывают, но на моем опыте все пиздоболы, продавшие то, чего нет, выбрасываются на мороз по истечении испытательного срока, а то и раньше

Так почему этот на месте? https://habr.com/ru/post/593167/

Яркий пример ответа на вопрос — язык C++. Пример того, как можно максимально плохо сделать абсолютно все фичи, но все-таки сделать их для галочки перед начальством. Да, это не «то, чего нет», но, как я люболю говорить, отсутствие архитектуры лучше, чем плохая архитектура. На моих глазах чел, который три года пилил минимально нестандартный CRUD, был выкинут на мороз только по прошествию этих трех лет. Как раз потому, что продемонстрировал «что-то», но это «что-то» было настолько безнадежным, что на самом деле было эквивалентно «ничему», и даже было хуже, чем «ничего», потому что когда у нас «ничего», то значит нам нужно что-то сделать, а если что-то есть, то «нужно немного доработать», годы проходят, а результат не меняется.

По поводу фулл-стека ты не прав, я думаю. Там главное качество — способность решать поставленные задачи end-to-end

Прав, но не совсем. Есть настоящие фуллстэкеры, есть манагеры, работающие фулстэкерами, и есть просто рукожопы, которые не понимают отличия между PUT и POST, между TCP и DNS, а потому предпочитают писать собственную лапшу как попало.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

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

Возможно. Но на кой хер обычной галере писать еще одну распределенную БД, мало их уже понаписано шоле.

пиксель в пиксель. Сможешь?» — я честно ответил «нет, я лучше сделаю вдоль».

Ну если в каком-то одном браузере, то можно попробовать.

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

Но на кой хер обычной галере писать еще одну распределенную БД, мало их уже понаписано шоле

PHP, PostgreSQL, Redis, MemCached — бум, у тебя де-факто распределенная БД. Даже если ты не знаешь, что это такое. Тем хуже. что не знаешь, потому что не понимаешь, какие проблемы тебя ждут. В таком случае часто начинается «ну сейчас вот эту маленькую проблему подопрем костылем — и всё наладится», потом «наш костыль создал новую проблему — подопрем ее вторым костылем» — но особенность распределенных систем заключается в том, что с ростом сложности возрастает сложность обуздывания этой сложности, и таким образом сложность улетает туземун до тех пор, пока все не сдаются, мол «ну, большую часть проблем мы вроде как исправили, за последние оставшиеся будем отдельно извинияться перед клиентами». Очевидно, помимо упомянутого, система получается суперхрупкой — что есть противоположность тому, зачем распределенные системы обычно делаются.

Ну если в каком-то одном браузере, то можно попробовать

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

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.