recuirting process

The Skillset Confusion: Why We’re Recruiting Developers the Wrong Way

A few months ago, hiring a developer was straightforward. You knew exactly what you needed: a Java developer, a Python developer, an Angular developer. Job descriptions read like grocery lists of frameworks and languages, each with a required number of years attached. Resumes were filtered by these lists, teams were structured around them, and careers were built upon them.

That world is quietly disappearing. Most engineering leadership hasn’t yet caught up to what is replacing it.

The Moment It Clicked

Recently, I asked my project manager to add headcount to a project I was running. He asked the question he’d been trained to ask for a decade: “Which team?”

Historically, we had a Java team, a Python team, and a React team. Our org chart, hiring funnel, and performance reviews were all built around those buckets. I stood there for a moment, realizing I didn’t know how to answer him.

On my current project, I have used Angular in some components and React in others. I had moved between Python and Node services without a second thought. The AI-assisted coding experience had become so seamless that the choice of framework was now incidental—a context-switch the AI absorbed so the human didn’t have to.

That was the moment I realized: we are recruiting for a world that no longer exists.

What "Knowing a Language" Used to Mean

Until recently, knowing a programming language was a meaningful proxy for productivity. Deep knowledge of Java meant you could ship features faster than a novice. Productivity scaled with familiarity, and familiarity took years to acquire.

Today, the AI writes the syntax. It remembers the idioms. It knows the standard libraries. It can pivot between Spring Boot, FastAPI, and Express in a single afternoon without breaking stride. The “fluency” we used to pay for has been commoditized overnight.

What Actually Matters Now

If language is no longer the differentiator, what is? From running real-world projects with AI in the loop, four priorities have emerged:

1. Structural Architecture

The AI can write a controller or a migration, but it cannot reliably decide where those things should live in a codebase intended to last five years. A developer who understands the “shape” of a well-structured project and the trade-offs involved is infinitely more valuable than one who has simply memorized syntax.

2. AI Orchestration

This is the new craft. It involves knowing when to trust the AI and when to interrogate it. It’s the ability to phrase a problem so the AI provides a useful answer rather than a “confident wrong” one. Knowing when a solution is technically correct but architecturally unsustainable is a skill that is currently wildly unevenly distributed.

3. Domain Expertise

When an AI suggests solving a problem by adding a cache, a human must decide if caching is appropriate for that specific data. Does the business care about staleness? Will downstream systems tolerate it? The AI does not know your business; the developer must.

4. UI/UX Judgment

AI has fundamentally changed the design pipeline. On most projects, the AI generates layouts that are more consistent and accessible than what an average in-house team would ship in the same timeframe.

The Uncomfortable Truth: The UX produced by today’s AI agents has largely eliminated the need for dedicated UX teams on standard business tools.

The role of “UX Designer” for internal dashboards and admin panels is folding into the developer’s role. The remaining work is judgment: Is this flow how our users think? Is this density appropriate for the hardware they use? These are calls a developer with functional understanding can make in the moment.

The Shift from Productivity to Judgment

For years, we measured developers by “output”: lines of code, story points, or velocity. We were measuring how fast a human could translate a requirement into code. That translation is now nearly free.

If two developers use the same AI on the same codebase, their output velocity will look identical. The difference will show up in what they choose to ship, what they refuse to ship, and what they catch before it deploys.

How We Should Be Hiring

While the industry is still figuring this out, the direction is clear:

  • Stop organizing by framework: A “React team” is an organizational fiction. Organize around products and outcomes.
  • Screen for structural thinking: Give a candidate a messy codebase and ask what they would change about the architecture. This reveals more than any LeetCode puzzle.
  • Test AI collaboration directly: Put the AI in the interview. Watch how the candidate uses it, pushes back on it, and catches its hallucinations.
  • Value “The No”: Reward the developer who tells you a feature shouldn’t be built or that an approach won’t age well. In an era of infinite output, restraint is the most valuable asset.

Conclusion

The conversation with my PM was uncomfortable because it meant my organizational structure was already obsolete. But pretending the old model still works is a recipe for irrelevance.

The companies that thrive in the coming years won’t be those with the deepest “Java benches.” They will be the ones whose developers prioritize system structure, business context, and the courage to push back against the machine.

The frameworks are no longer the skill. The judgment is. It’s time we hired for it.