The Hiring Market Broke Generalists

Monday night I was at a StartupSac meetup — good group, mostly engineers these days, about three-quarters of the room are developers with the rest entrepreneurs. Exactly the kind of crowd where real conversations happen.

I ended up talking to a software engineer in his 50s. Smart guy, clearly been around, clearly seen some things.

He said something that stopped me mid-sentence.

“Would you hire somebody like us? Because I never would.”

I sat with that for a second.

And then I disagreed. Respectfully, but clearly.

Because I think that mentality — shared by him and apparently by most of the hiring market right now — is actually costing companies more than they realize.


What Changed

There used to be an assumption baked into software engineering hiring: if someone has solid fundamentals, real experience, and a proven ability to ship — you can hand them a new language or framework, and they’ll figure it out. Fast.

That was the whole point of a Computer Science degree. Not “here are the exact tools you’ll use forever.” But “here are the fundamentals that transfer everywhere.”

Somewhere along the way, that assumption quietly died.

Now the job posting says: 5 years Python. Specifically Python. Not strong engineering fundamentals who can learn Python in two weeks. Python. Five years. Only.

And if you don’t have that exact box checked, the ATS filter never even shows your resume to a human.


The Case for the Generalist

Here’s what the specialist-only hiring mentality misses — and I’m speaking from 7 years of full-stack engineering and 2,000 job applications’ worth of pattern recognition.

Load balancing. A full-stack generalist can work any part of the stack. This week, the front end needs all hands? They’re there. Next week, it’s a back end push? Same person. If you’ve only got specialists, you can’t flex. You’re either overstaffed on one side or scrambling on the other, and your project timeline pays the price.

Bridging the gap. There is a real and persistent chasm between front-end engineers and back-end engineers. Not just technically — culturally, in terms of how they think, communicate, document, and prioritize. A full-stack generalist lives on both sides of that line. They speak both languages. They write documentation that actually makes sense to the whole team. They sit in a meeting with both groups and translate in real time.

The cross-cutting bug. Every team eventually hits it — the bug that doesn’t cleanly belong to front end or back end. It’s somewhere in the handoff. It’s in the API contract, or the state management, or the way the database result gets transformed before it hits the UI. Specialists point at each other. The generalist understands the full chain and can actually trace it.

The human interface. When management needs someone to explain what the team is building — not in ticket-speak, but in plain language that connects to business outcomes — you want the person who understands the whole system. When a customer has a technical question that spans multiple layers, you want the person who can answer it without calling a committee. That’s the generalist. That’s the full-stack engineer who’s been in every layer of the codebase.

The project lead. When you need someone to own a feature from database schema to UI — understand the tradeoffs at every layer, make decisions that don’t break something downstream, and communicate progress clearly up and down — the generalist is almost always your best option. Not because they’re better at any single thing, but because they understand the whole thing.


Where AI Fits Into This

Here’s the part that’s been rattling around in my head since that conversation.

AI is the newest and most obvious example of the specialist trap — but it also might be the thing that eventually breaks it.

Right now, companies are demanding specialists in tools that are two years old. We’ve been over that math. It doesn’t hold up. But the deeper problem is that AI integration isn’t a back-end problem or a front-end problem or a database problem. It’s all of them simultaneously.

Building an AI-powered feature means understanding the API layer, the data flow, the UI that surfaces the results, the prompting logic that shapes what the model does, and the error handling when it does something unexpected. That’s the full stack. Every layer.

The engineer best equipped to own that end-to-end? Not the specialist who’s lived exclusively in one layer. The generalist who’s been bouncing between all of them for years.


Back to the Guy in His 50s

I understand why he said what he said. When you’ve been in this market long enough, you internalize its logic even when that logic is wrong. The market doesn’t want us; we shouldn’t want ourselves.

I’m not there yet.

I still think companies need both. Specialists go deep — and that depth matters. But generalists go wide, and that width is what holds a team together when things get complicated.

The market forgot that. I don’t think it forgot it permanently.

And in the meantime — if you’re a Sacramento engineer feeling the same squeeze, StartupSac and SacTech are worth your time. Good people. Real conversations. Fewer buzzwords than your average LinkedIn thread.


Previously: 5 Years of LLM Experience Required 🙄 — the math on those job posting requirements.

Next up: why your AI forgets what you told it by the seventh message — and what to actually do about it.