Back to Blog
ArchitectureLeadershipCode

The New Engineering Loop: Architect, Delegate, Review, Repeat

AJ
Aaron J. Spurlock
9 min read

There is a real shift happening in software engineering, and pretending otherwise is dumb.

More of the day-to-day act of programming is becoming delegatable. Not all of it. Not the hard parts. Not the accountability. But a surprising amount of the mechanical middle is now fair game. Boilerplate, refactors, tests, repetitive CRUD, documentation scaffolding, migration scripts, admin tools, one-off data transforms, component variations, adapter layers. A lot of the stuff that used to eat half a week can now show up in half an hour.

That does not mean engineering is disappearing. It means the loop is changing.

The old loop looked something like this: understand the problem, write the code, run the code, fix the code, ship the code.

The new loop looks more like this: understand the problem, architect the shape of the solution, delegate chunks of execution, review what came back, repair the gaps, then ship the result.

That is not a small adjustment. It changes where leverage lives. It changes what senior engineers spend time on. It changes what junior engineers need to learn. It changes how teams should define quality. And if you do not notice the shift, you end up optimizing for the wrong thing.

The job is starting to look less like typing every line yourself and more like running a control tower. You are routing work, setting constraints, sequencing dependencies, watching for collisions, and taking manual control the second something looks off.

That sounds efficient because it is. It also sounds dangerous because it is that too.

Delegation Only Works When the Work Is Well-Shaped

Most people are still trying to use AI like an eager intern with infinite stamina. That is the wrong mental model.

The useful model is this: you are working with a fast but unreliable implementation engine. It does not actually know what matters unless you tell it. It does not understand your business in the way you think it does. It will confidently fill in blanks with plausible garbage if you leave room for interpretation.

So the first skill that matters more now is decomposition.

Can you break a problem into pieces that are:

  • Independently understandable
  • Small enough to verify
  • Constrained enough to execute safely
  • Ordered in a way that limits blast radius

That is architecture, even when the problem is small.

The bad version of delegation sounds like this:

Build the billing sync for our legacy customer records and make sure it handles all the edge cases.

That prompt is vague, overloaded, and almost guaranteed to produce something superficially complete and structurally wrong.

The better version looks like actual engineering:

  • Define the source of truth
  • List the record states that matter
  • Specify the external API contract
  • Name the failure cases that must not be dropped
  • Separate mapping logic from transport logic
  • Require idempotency
  • Require logging for reconciliation
  • Require tests around duplicate deliveries and partial failures

At that point, the prompt is not magic. It is just a compact spec. And the better the spec, the better the delegated output.

That means a lot of engineering leverage is moving toward people who can reduce ambiguity. Not people who can produce the most words. Not people who can write the most baroque prompt incantations. People who can think clearly about boundaries, invariants, and failure modes.

That is not hype. That is systems work.

Prompting Is Becoming a Design Skill

I think people talk about prompting in the most unserious way possible.

They treat it like a bag of clever phrases. A secret handshake. A collection of formatting tricks. Sometimes that helps at the margins, but that is not the core skill. The real skill is specifying intent with enough precision that execution can be delegated without surrendering correctness.

In other words, good prompting is mostly architecture and review discipline wearing a fake mustache.

A strong prompt usually contains the same things a good technical design contains:

  • Clear objective
  • Constraints
  • Inputs and outputs
  • Non-goals
  • Edge cases
  • Acceptance criteria

If you are vague about any of those, the result gets weird fast.

This is why some engineers feel like AI is incredible and others feel like it is useless. Often they are not using different models. They are bringing different levels of technical clarity to the interaction.

If your prompt is "clean this up," you deserve the chaos that follows.

If your prompt is "refactor this module to isolate the persistence layer behind an interface, preserve current behavior, keep the public API stable, and add regression tests for these three edge cases," now we are getting somewhere.

The important shift is that design intent has to become more explicit earlier in the loop. You cannot hide behind "I will work it out while coding" to the same degree, because the quality of what you delegate depends on what you decided up front.

That is one reason I think architecture is becoming more important, not less. When implementation gets cheaper, decision quality matters more.

Review Is No Longer a Nice-to-Have

If delegation expands, review becomes the choke point for quality.

That should make perfect sense, but a lot of teams are still treating AI output like a shortcut around engineering rigor. That is how you end up with a repo full of polished-looking nonsense.

Generated code often has a particular smell. It is locally reasonable and globally untrustworthy. The function seems fine. The types look respectable. The tests appear confident. Then you pull on one thread and realize it misunderstood transaction boundaries, skipped a domain invariant, duplicated logic that should stay centralized, or quietly changed behavior in a way that only shows up under production load.

This is why style review is not enough.

The old bad pull request had obvious tells. Inconsistent naming. Weird formatting. Missing tests. A careless engineer giving themselves away.

The new bad pull request can look immaculate.

That means review has to focus on deeper questions:

  • Is the behavior actually correct?
  • Are the invariants preserved?
  • Does this fit the architecture or just imitate it?
  • Is the abstraction helping, or did we just hide complexity behind another layer?
  • What assumptions did the implementation make without proving them?
  • What happens when the happy path fails?

Those questions are slower than scanning for code style. Too bad. They matter more.

If your team is increasing the amount of code produced through agents, then code review needs to get stricter, not looser. Faster code generation should buy time for better judgment, not justify lower standards.

The Most Valuable Engineers Will Be the Ones Who Can Recover

Here is the part people skip when they talk about AI-assisted engineering: somebody still has to save the project when the generated solution falls apart.

Somebody has to notice the coupling problem. Somebody has to trace the production incident. Somebody has to figure out why the retry policy is amplifying duplicate writes. Somebody has to explain why the test passed and the system still broke.

That work does not go away. It becomes more concentrated.

When the easy code is cheap, the hard parts become the job.

This is why I do not buy the idea that engineers are turning into prompt managers. Prompting is part of the loop now, sure. Delegation is part of the loop. But the real value is still in judgment. Knowing what to build, knowing how to split it up, knowing how to inspect it, and knowing how to recover when reality refuses to match the plan.

The engineer who can take manual control when the abstractions fail is still the engineer you want in the room.

In fact, I would argue they are more valuable now, because it is getting easier for teams to produce a lot of code without producing a lot of understanding.

You Still Need Reps

This is where a lot of people are going to get themselves into trouble.

If more of the loop becomes delegation and supervision, it is tempting to stop doing the hands-on parts entirely. That feels efficient right up until it is not.

You cannot supervise well in a domain where you no longer have tactile familiarity.

If you never write query-heavy code anymore, your ability to spot bad data access patterns degrades. If you never debug the ugly production issue yourself, your incident instincts soften. If you never write tests from first principles, you stop noticing when generated tests are decorative instead of protective. If you never read the stack traces, inspect the network calls, or trace the state transitions, you eventually lose the thread.

And then your supervision becomes ceremonial.

You are no longer reviewing from understanding. You are reviewing from vibes.

That is a terrible place to be.

I think strong teams are going to treat hands-on work the way good athletes treat drills. Not every rep needs to happen under game-day pressure, but the reps still need to happen. Engineers should still write real code. Still debug real failures. Still sketch solutions before handing them off. Still form opinions before asking the machine to autocomplete their thinking.

The point is not purity. The point is calibration.

This Shift Is Real, but It Is Not an Excuse to Get Soft

I am not interested in the fake binary where you either reject AI entirely or surrender all implementation to it. Both positions are lazy.

The practical reality is that engineering is becoming a higher-leverage orchestration job in many contexts. More of us will spend more time defining the work than typing every character of the work. That is real. Teams that ignore it will move slower for no reason.

But the opposite mistake is just as bad. If you let the tooling replace your contact with the underlying system, you will lose the exact instincts that make delegation safe in the first place.

So yes, the loop is changing.

Architect more deliberately. Delegate more intentionally. Review more skeptically. Repeat as often as needed.

Just do not confuse less typing with less engineering.

The typing was never the whole job. It was just the most visible part.

Written by Aaron J. Spurlock

Head of Technology at Midtown Home Improvements. Building enterprise-grade software and writing about the journey.