Back to blog

Hyper-generalist or Extreme-specialist? Time to Pick a Side

The tech job market is splitting between hyper-generalists and extreme specialists. Why the middle is shrinking, and why you probably need to choose a side.

5 min readRead on MediumPublished
  • Computer Science
  • AI
  • Software Development
  • Careers
  • Technology

A couple of alumnus from my university reached out to me asking for job hunting tips. So I’ve been staring at job boards lately and across all those listing, two observations stand out.

  1. The job descriptions aren’t just asking for “5+ years React” or “Kubernetes experience preferred” anymore. They’re asking for… everything.
  2. Or they’re asking for one impossibly specific thing.

It feels like the industry is splitting down the middle, where knowing a bit of both sides is a death sentence for your carrier. And unfortunately, that’s we’re majority of us stand.

On one side, we’ve got what I call the hyper-generalist. Not the “full-stack developer” we’ve been pretending to be since 2015. That was just frontend plus backend with a side of DevOps if you were unlucky. This new thing is different.

Roles titled “Forward Deployed Engineer” (up 800% apparently, though I don’t know who’s counting). After a bit of research with ChatGPT, apparently the job is about going inside a customer’s company and becoming their temporary CTO, therapist, and script monkey. You’re at Snapchat one quarter helping them burn through AWS credits, then at some bank the next quarter explaining why their “AI strategy” is just ChatGPT wrapped in a bad API. You need to know Rust, sure, but you also need to know how to speak on a board meeting and how to translate “technical debt” into “risk-adjusted ROI” for people who still print their emails.

Code is cheaper than ever and the price will only go down. Cursor spits out functional CRUD apps faster than I can write the README. So the value isn’t in the syntax anymore. I’d bet soon we’ll stop seeing “Java Developer” or “Python Developer” roles and we’ll all become “Prompted Software Engineers” or “Vibe Code Cleanup Specialists”. The value now is the context. Can you jump into a mess, figure out which messes matter, fix them while the customer watches, and then leave before they ask you to join their book club?

Then there’s the other side. The extreme-specialist.

These people scare me a little. They’re not “senior React developers” or “Python experts.” They’re the ones who’ve gone so deep into a single vertical that they speak a different language entirely. Think about Jared Sumner building Bun, not because he loved JavaScript, but because he’s a systems-level maniac who decided the web needed to stop being slow. Now he’s at Anthropic doing god-knows-what with Zig and probably writing memory allocators that make Linux kernel developers weep.

AI Startups are dropping seven figures on individual ML engineers. Not teams. Individual humans. These folks have PhDs or they’ve been obsessed with one specific optimization problem for five years straight. They don’t have “soft skills” because they don’t need them. They’re not joining your standup. They’re in a basement somewhere making transformers run 0.3% faster, and that 0.3% is worth more than my entire career will ever be.

The uncomfortable truth is that the middle is dying. You can’t just grind LeetCode for three months, memorize the React docs, and coast into a FAANG anymore. Those cushy “day in the life” TikToks where someone codes for 20 minutes and then plays ping pong? They’re becoming museum pieces. The bootcamp-to-big-tech pipeline is rusting shut.

You have to pick a lane, and you have to go extreme with it.

Either you become the person who can drop into any codebase, any business context, any stack, and figure out how to ship value by Friday while the client breathes down your neck. You’re the mercenary. The utility player. The one who knows enough about Postgres, sales pipelines, and project management to keep the wheels on while the real engineers (the specialists) do the actual brain surgery.

Or you go the other way. You pick one thing, one language, one layer of the stack, one mathematical domain, and you descend into it like you’re mining for gold, you stop visiting your granny and you stop dropping your kids to school. You learn the shape of every cache miss. You dream about garbage collection algorithms. You become so specific that companies have to invent roles just to justify your salary.

Honestly? I’m betting on generalization. There’s something sexy about knowing it all, from all the angles, the person who can hold a conversation about distributed systems and then pivot to why the pricing model doesn’t make sense. I like connecting the dots, gluing them together, sometimes with a glimmer of hope it won’t fall apart when the wind blows from the wrong angle. I like wearing different hats, even if some of them fit weird.

But I look at the extreme-specialists sometimes, like really look at them, and I feel that itch of jealousy. The purity of their focus, the sheer volume of hours they put into their craft, their obsession and the fact they know about all existing papers in their field. The way they can say “I don’t care about your business model, I make the silicon sing” and mean it. That’s a kind of freedom too.

I don’t know where this ends. Maybe the generalists become the new sales engineers and the specialists become the new research scientists and we stop pretending there was ever a middle ground. Maybe “software engineer” stops being one job title and splits into ten different species.

All I know is that being average, being “pretty good at React and know a bit about the cloud” feels increasingly like a death sentence. Pick a side, and run like hell toward the edge.