Ilya Brin - Software Engineer

History is written by its contributors

Why Write Code When AI Does It Better

2026-05-05 6 min read Career Ilya Brin

A question that’s coming up more and more in interviews, team chats, and developers’ own heads: why write code at all when an AI agent does it faster, without fatigue, and without asking for a raise?

This isn’t rhetorical. It’s a genuine question that deserves a genuine answer.

Let’s Acknowledge the Obvious First

AI agents already write code better than the average developer on routine tasks. Boilerplate, CRUD, unit tests, database migrations, REST wrappers - all generated in seconds and working correctly most of the time.

If your job consists entirely of this - the threat is real.

But here’s the paradox: companies that started replacing developers with AI agents discovered that agents write code well, but understand why to write it poorly. And even worse - when not to.

What a Developer Actually Does

Code is not the product of a developer’s work. Code is a side effect.

The product is a solved problem. And between “problem” and “code” sits an enormous amount of work that AI still does badly:

  • Framing the task. “We need a registration button” is not a task. The task is understanding why users aren’t registering and figuring out whether a button actually solves that problem.
  • Deciding what not to build. The best solution is often no code at all. Buy a SaaS, use an existing tool, change the process. An AI won’t suggest “don’t do this.”
  • Understanding system context. The agent doesn’t know that six teams touched this module over three years, that there are hidden invariants documented nowhere, and that the last time someone “just added a field,” production went down.
  • Owning the decision. An agent can generate three architectural options. Someone has to pick one and explain why - to the board, to the team, to their future self.

Experienced Developer: Shift Your Focus

If you have 5+ years behind you, your main asset is not the ability to write code. It’s the ability to read the situation.

What Becomes More Important

Prompting agents effectively. The quality of AI output is directly proportional to the quality of the input context. “Write an auth service” and “Write an auth service for a B2B SaaS supporting SAML SSO, where a tenant can have multiple domains and configure session policies” are different tasks - and the output difference is enormous.

Reviewing AI-generated code. An agent writes confidently even when it’s wrong. It won’t say “I’m not sure” - it will produce code that looks correct but contains a race condition that shows up under load. Finding that is a human skill.

// AI generated this. Looks fine.
func (s *Service) GetUser(id string) (*User, error) {
    if cached, ok := s.cache[id]; ok {
        return cached, nil
    }
    user, err := s.db.Find(id)
    if err != nil {
        return nil, err
    }
    s.cache[id] = user
    return user, nil
}

// Problem: map without a mutex in concurrent code.
// The agent didn't know this method is called from goroutines.
// You were supposed to know that.

Systems thinking. An agent sees a function. You need to see the system: how this function behaves at 100x load, what happens on partial failure, how someone will debug it at 3 AM.

Managing AI-generated technical debt. AI code accumulates fast. Without architectural oversight, six months later you have a pile where every module is written “in its own style,” there’s no unified data model, and nobody understands how it fits together.

What to Spend Less Time On

  • Writing boilerplate by hand
  • Memorizing syntax and APIs (let the agent look things up)
  • Manually writing unit tests for trivial cases

New Developer: Don’t Skip the Foundation

Here’s the unpopular take.

If you’re new to development and immediately delegate writing code to AI - you’re building a career on sand. Not because “you need to suffer and write everything by hand.” But because you can’t review what you don’t understand.

An agent will write you code. You’ll run it. It will work. And then it will stop - under load, with certain inputs, after a dependency update. At that point you’ll need to debug code you didn’t write and don’t understand.

What You Need to Know Through Your Hands

Not everything. But some things need to be lived, not just read about:

  • Debugging. Reading a stack trace, setting breakpoints, forming hypotheses about a bug’s cause. This is a muscle that only develops through practice.
  • Memory and performance. At least once: write code with a memory leak and find it. At least once: produce an N+1 query and understand why the page takes 10 seconds to load.
  • Concurrency. Deadlocks, data races, event ordering issues - catch and fix at least one yourself.
  • Reading others’ code. The most underrated skill. AI generates code, but the industry runs on reading and understanding what already exists.

How to Use AI Correctly

Use the agent as a strict tutor, not an answer key.

Wrong: "Write me a sorting function"
Right: "I wrote this sorting function - find the problems in it"

Wrong: "Explain how HTTP works"
Right: "My understanding of HTTP is X. Where am I wrong?"

Wrong: "Write a test for this code"
Right: "I wrote a test. What edge cases did I miss?"

The difference: in the first case you get an answer. In the second - understanding.

Skills That Don’t Expire

There are things AI won’t replace in the foreseeable future - not because they’re “too complex,” but because they require context that lives in people and organizations:

  • Politics and communication. Convincing a team to adopt an architectural decision, negotiating a compromise with business, explaining technical debt to a CFO - these are negotiations, not agent tasks.
  • Ethics and accountability. Who decides how the system handles personal data? Who is responsible when the algorithm makes a mistake? Not the agent.
  • Trust and reputation. Teams work with people they trust. Trust is built over years and doesn’t transfer via API.
  • Asking the right questions. “Why are we doing this at all?” is the most valuable question in software development. And the rarest.

What Will Happen to the Market

An honest forecast: the number of developers doing routine code generation will shrink. The number of people who can manage AI systems, review their output, and make architectural decisions will grow.

This isn’t the end of the profession. It’s a shift in its content - roughly like how IDEs didn’t kill programmers, and calculators didn’t kill mathematicians. But those who didn’t adapt genuinely became less relevant.

Practical Conclusions

If you’re an experienced developer:

  • Invest time in working with AI agents as a tool, not an opponent
  • Develop architectural thinking and code review skills
  • Become the person who understands when an AI-generated solution is unacceptable

If you’re a newer developer:

  • Don’t delegate understanding - only routine
  • Use AI to explain things and check your code, not to replace writing it
  • Focus on debugging, reading code, and understanding systems - AI won’t teach you that yet

Code is the language you use to communicate with machines. AI has become a very good translator. But a translator doesn’t replace someone who knows what to say.

comments powered by Disqus