Skip to content
All writing
Essay·5 min read

Why software development is becoming AI-first

The slow part of shipping software is no longer writing the code. Notes on what that changes for engineering teams.

For most of my career, the slowest part of shipping software was writing it.

Requirements were rarely the problem. Neither was deployment, once CI/CD matured. The long pole was always the same: a person at a keyboard, turning a ticket into working code, one file at a time. Every estimate, every sprint plan, every hiring decision was built around that constraint.

That constraint is gone. And most teams haven't noticed yet.

What actually changed

I don't mean "AI writes code now," which is both true and mostly beside the point. Autocomplete on steroids makes a fast developer maybe 20% faster. That's nice. It's not a shift.

The shift is that language models got good enough to carry a whole unit of work, not just a line of it. Given the right context, a model can take "add rate limiting to the invite endpoint" and produce the migration, the middleware, the config, and the tests. Not perfectly. Not unsupervised. But well enough that the job changes shape.

I see this every day building LaraCopilot. Our agent pipeline takes a feature description and produces a reviewable pull request against a real Laravel codebase. The interesting problems are no longer "can the model write the code." They're everything around that:

None of that is prompt engineering. It's systems engineering. Which is why I think "AI-first" is the right phrase and "AI-assisted" undersells it.

What it means for teams

If writing code is no longer the bottleneck, the bottleneck moves. In my experience it lands in two places.

Deciding what to build. When a feature costs three days, you think hard before starting. When it costs twenty minutes, the cost moves upstream: someone still has to decide whether it should exist, how it fits the architecture, and what "done" means. Teams that were carried by their engineers' output will feel this first. Teams with strong product and architecture judgment will pull ahead.

Reviewing what got built. Review used to be a fraction of engineering time. In an AI-first workflow it's the majority. That's uncomfortable for engineers who got into this to write code, and it's exactly why tooling around review, not generation, is where I'm spending my energy. A reviewer with full file context, a memory of earlier rounds, and the ability to comment inline is worth more than a faster generator.

The team-shape consequence is the one people resist: a small team with good judgment and a serious agent pipeline can now cover ground that used to need a department. I don't think that means fewer engineers overall. I think it means the ones who learn to run these systems will be doing a different job, closer to architecture and editorial control than to typing.

What I'd do this quarter

If you run an engineering team and want to start without betting the company on it:

  1. Pick one repetitive lane. CRUD endpoints, admin screens, test backfills. Not your core domain logic. Let an agent own drafts in that lane for a month.
  2. Keep your review bar exactly where it is. The fastest way to poison this transition is merging code nobody read. The second fastest is reviewing AI code more gently than human code.
  3. Invest in context, not prompts. Write down your conventions. Clean up your module boundaries. Everything that makes a codebase legible to a new hire makes it legible to a model, and the payoff compounds.
  4. Measure cycle time, not lines generated. The number that matters is ticket-to-merged, with review included. If that isn't dropping, the tooling isn't working, whatever the demo looked like.

Where this goes

I don't know how far the autonomy curve runs, and I'm suspicious of anyone who claims to. What I do know, from shipping this stuff, is that the current generation of models is already past the threshold where the old assumptions hold. Estimation, staffing, sprint mechanics: all of it was calibrated to human typing speed.

The teams that recalibrate first get a compounding advantage. Not because AI writes their code, but because they redesigned their workflow around the new constraint while everyone else was still arguing about whether the code is any good.

It's good enough. The question is whether your system around it is.


I'm building LaraCopilot, an AI development platform for Laravel, and writing about agentic systems and MCP as I go. If you're thinking about any of this for your team, email me. I usually reply within a day.