Skip to main content

Command Palette

Search for a command to run...

Why AI Generates Good Code but Poor Architecture

Updated
5 min readView as Markdown
B
Senior Software Architect with 30+ years of experience building enterprise systems using Java, Spring Boot, and cloud-native technologies.

AI can write a method in seconds. But can it design a system that survives for years?

This is the question every engineering leader should be asking.

After working with AI-assisted development on real enterprise projects, I've noticed a clear pattern:

AI is becoming an excellent programmer.

But it's still a weak software architect.

Understanding this difference is becoming one of the most valuable skills for senior engineers.


AI Is Brilliant at Local Optimization

Modern LLMs are trained on enormous amounts of source code.

As a result, they excel at tasks such as:

  • Writing REST APIs

  • Creating unit tests

  • Refactoring methods

  • Generating SQL queries

  • Implementing algorithms

  • Explaining unfamiliar code

  • Translating between programming languages

These tasks share one important characteristic:

They have a relatively small context window.

The model only needs to understand a limited portion of the system before producing a high-quality answer.

This is why AI often feels like an incredibly productive pair programmer.


Architecture Is a Global Optimization Problem

Software architecture is fundamentally different.

Architects aren't designing classes.

They're designing trade-offs.

Questions include:

  • Should this be a microservice or remain in the monolith?

  • Where should business boundaries exist?

  • Which service owns this data?

  • Should consistency be strong or eventual?

  • Is latency or availability more important?

  • How much technical debt is acceptable?

  • Which decisions will still make sense three years from now?

None of these questions have a single correct answer.

Every decision affects dozens of future decisions.

Architecture is less about generating code and more about balancing competing constraints.


AI Doesn't Truly Understand Constraints

This is where today's AI often struggles.

Ask AI to design a payment platform.

It will likely recommend:

  • Microservices

  • Event-driven architecture

  • Kafka

  • CQRS

  • Event Sourcing

  • Redis

  • Kubernetes

  • Service Mesh

  • API Gateway

Individually, none of these choices are wrong.

Together?

They may be unnecessarily complex.

AI tends to assemble architectures from patterns it has frequently seen rather than evaluating whether each component is justified for the specific business problem.

In many cases, it optimizes for plausibility, not appropriateness.


Great Architecture Requires Context That AI Rarely Has

A human architect understands things that never appear in source code.

For example:

  • Organizational structure

  • Team experience

  • Budget limitations

  • Compliance requirements

  • Operational maturity

  • Deployment constraints

  • Legacy integrations

  • Political realities

  • Business priorities

  • Customer expectations

These factors often matter more than technology itself.

Two companies solving the same problem may require completely different architectures because their constraints differ.

Without this context, AI is making educated guesses.


Architecture Is About Long-Term Consequences

Code is judged immediately.

Architecture is judged years later.

A function either works or it doesn't.

An architectural decision may appear successful for months before revealing hidden costs.

Examples include:

  • Slow team velocity

  • Difficult deployments

  • Expensive cloud bills

  • Distributed data inconsistency

  • Poor observability

  • Service sprawl

  • Scaling bottlenecks

  • Organizational friction

These are second-order effects.

They're difficult for AI to predict because they emerge from how people, systems, and businesses evolve together.


AI Often Optimizes for "Best Practice"

Experienced architects optimize for "Best Fit."

Those are not the same thing.

The "best practice" architecture on the internet might be the wrong architecture for:

  • A startup with five engineers

  • A bank with strict regulatory requirements

  • A healthcare platform handling sensitive data

  • A manufacturing company modernizing legacy systems

Architecture should always be context-driven.

There is no universal blueprint.


The Future Architect Won't Design Everything Alone

Ironically, AI will make architects more valuable—not less.

Instead of drawing every diagram manually, architects will increasingly use AI to:

  • Generate architectural alternatives

  • Evaluate design patterns

  • Simulate trade-offs

  • Produce documentation

  • Review design consistency

  • Identify architectural smells

  • Generate implementation skeletons

  • Analyze dependencies

The architect's role shifts from creating every solution to selecting the right one.

This is similar to how pilots use autopilot.

The aircraft flies itself much of the time.

The pilot still makes the critical decisions.


The New Skill: Architectural Judgment

Junior developers may ask:

"How do I write this code?"

AI answers that very well.

Senior engineers ask different questions:

  • Should this service exist?

  • What happens if traffic increases tenfold?

  • Where should the boundary be?

  • Which failure mode is most dangerous?

  • What complexity are we introducing?

  • What are we optimizing for?

These questions require experience, business understanding, and judgment.

AI can assist.

It cannot own the decision.

At least not yet.


Final Thoughts

AI is rapidly becoming one of the best coding assistants we've ever had.

But software architecture isn't primarily a coding problem.

It's a decision-making problem.

The most successful engineers in the AI era won't be the ones who write the most code.

They'll be the ones who ask the best architectural questions, understand business constraints, and know when AI's recommendation should be accepted, adapted, or rejected.

As AI commoditizes implementation, architectural thinking becomes the true competitive advantage.


What do you think?

Have you seen AI produce technically correct code but recommend an architecture that didn't fit the real-world problem? I'd love to hear your experiences in the comments.

More from this blog

B

Bill LIao's Blog

137 posts

A technical blog on modern backend development, software architecture, and practical AI agent workflows