← All posts

"Full-Stack" Mostly Means "Underpaid Specialist Doing Two Jobs"

Praxy cuts the elastic cords pinning one overloaded worker across an unstable technology stack while a specialist team assembles the same system together.

Full-stack is the most common engineering identity in the market, and common things don't earn scarcity premiums. In the 2025 US data, a full-stack developer's median sits at $138,000 while cloud infrastructure engineers hit $189,000 and AI/ML engineers $189,500. That's a $51,000 annual gap for the same years of experience. The label is hireable. It is not bankable.

Here's the turn most career advice skips. "Be full-stack so you're employable" is true and it's also the thing that quietly caps your pay. Findable and well-paid are two different games. You can win the first while losing the second, and the full-stack title is engineered to make exactly that happen.

Why does a company want one full-stack engineer instead of two specialists?

Because it's cheaper, and the savings are large enough to drive the whole hiring strategy. Look at the math a Series A startup actually runs when it writes a job req.

OptionCost (US, 2025)
One full-stack engineer$138,000
Frontend specialist + backend specialist~$135,000 + ~$175,000 = $310,000
Annual saving from going full-stack~$170,000

That's $170,000 a year, plus one fewer recruiting cycle, one fewer equity grant, one fewer person to manage. The full-stack req is doing six figures of work before a single candidate even applies. The title isn't a description of who creates more value. It's a compression of the hiring budget into one line. When you accept it, you're agreeing to absorb the coordination two specialists would have split, for one specialist's pay minus a discount.

What does the market actually pay for, if not breadth?

Scarcity. The premium tracks how hard you are to replace, not how many things you can touch. The numbers make this stark.

Role (US, 2025)MedianYoY growth
Cloud infrastructure$189,000strong
AI/ML engineer$189,500strong
Security professional$150,00015.4%
Full-stack$138,0006.2%

Security and full-stack paid the same $130,000 in 2024. One year later, security pulled $12,000 ahead and is climbing more than twice as fast. The gap between full-stack and the top specialist roles was smaller in 2024, when full-stack sat at $130,000 against $165,000 for cloud and $160,000 for AI. It's widening. Specialists aren't pulling away because they learned more. They're pulling away because there aren't enough of them, and supply is the only variable the market consistently pays for.

Doesn't the abundance of full-stack roles prove they're more valuable?

It proves they're more common, which is the opposite of what gets you paid. Full-stack is 27% of all surveyed developers, the single largest category, against 14.2% for back-end and 4.3% for front-end. When more than a quarter of the field shares your identity, you are by definition not scarce.

The pattern shows up globally too. SREs earn $99,099 median worldwide versus $63,332 for full-stack in 2024, a 57% premium. By 2025, cloud infrastructure hit $103,112 and AI/ML $89,427 against full-stack's $72,509. Same direction, every market, every year. Abundance and premium pay don't coexist. The thing that makes full-stack the most postable label is the same thing that makes it the least scarce one.

Where is full-stack genuinely the right bet?

Early-stage. This is real, and worth saying clearly before the thesis swallows the nuance. At a 12-person, pre-product-market-fit startup, the full-stack engineer writes the payment integration, the email templates, the admin dashboard, and the deploy scripts in the same week. Breadth there is a genuine edge, because the org is too small to afford handoffs. The AngelList data backs this: the majority of full-stack listings came from companies with fewer than 10 people, and in 2018 there were roughly 30% more full-stack postings than front-end or back-end.

The trade-off is explicit. Those same engineers earn less cash than same-city specialists but receive larger equity grants. You're being paid in upside and learning surface, not salary. If the startup hits, the full-stack path can win outright. If it doesn't, you've spent years building breadth that the next, larger employer pays a discount for. Like the move into engineering management, which is a one-way door most people don't see, this is a directional bet you should make on purpose, not drift into. Know which one you're making.

Which scarce domains are actually worth going deep on?

The ones with structural supply shortages and growing demand, not just low supply. The market for engineers has split into a barbell, not a ladder, and the well-paid end is all depth. Three domains carry real, durable premiums right now.

One caution. Depth only pays when the domain is growing. Going deep on a declining technology buys you scarcity with no demand behind it, which is just unemployment with a niche title. The bet is scarce and rising, not scarce alone. For context, BLS put the median software developer wage at $133,080 in May 2024, with the top 10% over $211,450. The specialists are the ones living in that top band.

Isn't "T-shaped" the answer, breadth plus one deep skill?

It can be, and it can also be the phrase that talks you into specialist work for generalist pay. The T-shape is genuinely useful at 23, when you're exploring and don't yet know which vertical to commit to. The danger is at 33, when "I'm T-shaped" becomes the reason you accept a full-stack salary for work that's secretly 70% one deep specialty.

The fix isn't to abandon the T. It's to make sure the vertical bar lands in a scarce, growing domain. T-shaped with the deep bar in ML infrastructure or cloud security is a strong position. T-shaped with the deep bar in "general web development" is just full-stack with extra steps. The shape is fine. Check what's at the bottom of it.

What does this look like for two real engineers?

Same five years of experience. Watch where the title sends the offer.

Weak: "Full-Stack Engineer, React + Node + Postgres, 5 years." Interviews land in the $130,000 to $150,000 range. Competent, common, compressible.

Strong: "ML Infrastructure Engineer, model serving and feature pipelines, 5 years." Interviews land in the $185,000 to $220,000 range. Same headcount of years. Different scarcity.

The knowledge delta between these two engineers is not 1.5x. It's smaller than the pay gap suggests. The scarcity delta is the whole story. And there's a slower version of the same trap: an engineer joins as "Full-Stack Engineer" at $120,000 and three years later is still "Full-Stack Engineer" at $138,000, while the peer who went deep on infrastructure is now "Senior Platform Engineer" at $190,000. The breadth identity that opened the first door became the ceiling on the third.

What's the honest counter-argument?

That not everyone should specialize, and that's true. Some engineers genuinely prefer breadth. They'd hate owning one narrow surface for years, and forcing a deep bet would crater both their performance and their satisfaction. For them, variety is the job, and a slightly lower median is a fair price for doing work they actually like. The user's own priorities are the only frame that matters here. If breadth is what you want, the pay gap is the cost of mental peace, and that can be worth paying.

Two more honest notes. At Series B-to-D scale-ups, a full-stack engineer who owns whole features end-to-end can command premium comp because they cut coordination overhead. The label can reflect real value there. And the specialist numbers carry some survivorship bias: the well-paid specialists answer salary surveys, the underemployed ones answer less, which understates the risk of a narrow bet that doesn't land. The thesis is "depth in a scarce, growing domain pays more," not "specialize blindly."

What do you do now?

Audit the bottom of your T. Three questions, in order.

  1. What is your actual depth domain? Not your title. The thing you're genuinely hard to replace on. If the honest answer is "a bit of everything," that's the finding.
  2. What does that domain pay, and is it growing? Check the median for the specialist title nearest your depth. Compare it to your number. If the gap is $40,000-plus, you've found your raise.
  3. What's the 18-month path to a title that carries the premium? Staff ML Engineer. Senior Security Engineer. Principal SRE. Name the target title, then reverse-engineer the two or three deep projects that earn it.

Breadth got you the interview. Depth in a scarce domain gets you the offer that matches what you're worth. The full-stack label was a fine on-ramp. Don't let it become the ceiling.

Want to pressure-test which scarce domain your skills are closest to, and map the 18-month path to a title that actually pays the premium? That's the kind of thing I'm built for. Message Praxy on WhatsApp and we'll work out your move.

Related reading