Blog

The Illusion of Progress in Modern Web Development

The next era of excellence will not be defined by faster tools. It will be defined by stronger judgment. Clearer ownership. Better restraint. More finishing.


Share this article

This isn’t a story about decline. It’s a story about arrival.

If you spend enough time online, you start to believe modern web development is a story of decline.

Everything is bloat. Frameworks are churn. AI is ruining craft. “Best practices” are cargo cult. The modern stack is a meme. The web was better in 2014, or 2009, or whenever you personally felt most competent.

It is a comforting narrative because it gives us a villain.

But it is mostly wrong.

Not because the critiques have no examples. They do. You can find a thousand messy codebases, a thousand unnecessary abstractions, a thousand teams stuck in complexity they didn’t need.

It’s wrong because it misdiagnoses what is happening.

This is not a story about failure. It’s a story about arrival.

We are living in the golden age of web development.

And the reason it feels confusing sometimes is that we are dealing with the consequences of success, not the symptoms of decline.


Progress happened, and it worked

Modern web development has made us genuinely more effective.

Not “more productive” in the vague, corporate way. Effective in the practical way that matters when you are trying to build something real.

You can conceptualize faster. Plan faster. Execute faster. Fail faster. Validate faster.

That is not illusion. That is capability.

A single developer can now do what used to require a small team. A small team can now do what used to require a well-funded company. An idea that would have taken months to test can be tested in days.

If your goal is to learn, ship, iterate, and improve, you are not worse off today than ten years ago.

You are better off.


The real shift is not speed

Speed is the most obvious change, but it’s not the most important one.

The real shift is accessibility.

Tools, infrastructure, workflows, and deployment have become accessible enough that serious building is no longer reserved for specialists with rare knowledge and expensive resources.

Building is no longer a privileged activity.

It is a widespread capability.

That single fact changes everything.

Because when building becomes accessible, the bottleneck moves.

It moves away from “Can we build this?” and toward “Should we build this?” and “Can we finish it?” and “Who owns it when it breaks?”

In other words, the bottleneck becomes judgment.


What we genuinely improved at

You can be positive without being naive. So let’s be specific.

Modern web development improved at things that materially changed outcomes:

Onboarding

New developers get productive faster than ever. Not because they are magically better, but because the ecosystem is easier to enter. Documentation is better. Tooling is friendlier. The path from “Hello world” to “real feature” is shorter.

Tooling ergonomics

The day-to-day work is smoother. Developer experience is not a luxury. It changes how often you can test ideas, how quickly you can recover from mistakes, and how much energy you have left for thinking.

Feedback loops

Tighter loops change everything. Faster builds, better debugging, better observability, quicker iteration. The gap between a hypothesis and the truth is smaller.

Deployment

This is the quiet revolution. Shipping used to be risky. Now it is routine. The cost of pushing change is lower, and the confidence to push change is higher.

These are real improvements. They are not cultural. They are practical.

They are why so many people can build now.


So why does it feel like everyone is complaining?

Because success creates its own problems.

When building becomes accessible, progress becomes cheap.

Not worthless. Cheap in the economic sense: the cost to create movement drops dramatically.

And when movement is cheap, people create more of it.

They create more features, more layers, more abstractions, more architectural “cleanliness,” more proof-of-concepts, more refactors, more everything.

It looks like progress because it is movement.

But movement is not the same thing as delivered value.

That is the heart of the modern confusion.


The new failure mode is not broken software

The old failure mode was obvious.

The app crashed. The server went down. The deployment failed. The database corrupted. Something exploded and everyone noticed.

The new failure mode is quiet.

Nothing breaks.

Instead, the product drifts.

Screens exist but don’t feel finished. Flows technically work but don’t feel coherent. The codebase is “structured” but not understandable. The system can do a lot, but doesn’t do one core thing exceptionally well.

Teams spend months “building” without shipping something that feels complete.

This is not a tooling problem. It’s an abundance problem.

Progress is cheap enough that it no longer forces decisions.


A familiar pattern in modern SaaS projects

This shows up constantly in modern SaaS development.

A team starts with momentum. The first version comes together quickly. The project feels alive.

Then abstraction arrives early.

Not maliciously. Not stupidly. It arrives because modern tooling makes it easy to do “the right thing.” Types are introduced. Patterns are applied. Modules are created. Boundaries are drawn.

Then features arrive early too.

Because adding features is also easy. And because the world rewards visible progress, especially when you are still proving the product.

After a short amount of time, you have a system that can technically do many things.

But you do not have a finished product.

You have a set of partially-finished screens. A pile of proof-of-concepts. A growing forest of types and layers that are not wrong, but are not anchored to a stable understanding of what the product actually is.

The result is predictable:

  • a tangle of abstractions built on moving requirements
  • more code, not more clarity
  • more surface area, not more completion
  • progress everywhere, value nowhere

This is what success looks like when building is accessible and judgment is underdeveloped.


Where the noise comes from

Two forces amplify the confusion.

Social “best practices”

Advice spreads faster than context.

What gets shared is usually what looks clean, modern, and impressive early. Patterns optimized for large organizations get copied by small teams. Architectural decisions optimized for scale get adopted before scale exists.

This is not because people are stupid. It’s because “best practices” become social signals.

They are used to show seriousness. To show competence. To show that you belong.

The trouble is that social seriousness is not the same thing as building value.

AI-assisted speed without understanding

AI is a capability amplifier.

It helps you move quickly, remove repetition, and explore ideas. Used well, it is a gift.

Used poorly, it creates a dangerous illusion of certainty.

When code appears easily, structure feels earned. When abstractions are produced instantly, they feel justified. When you can generate “a good architecture” in minutes, it becomes tempting to build complexity before you understand the domain.

AI does not force this. It simply removes the hesitation that used to slow you down.

And hesitation used to be where judgment formed.


Indifference is the correct emotional response

This is not worth panic.

The web is not collapsing. The craft is not dead. The industry is not doomed.

What we are seeing is what happens when a capability becomes widespread.

When everyone can build, the differentiator shifts.

The differentiator becomes the ability to decide.

It becomes the ability to create clarity, not just code.

It becomes the ability to finish.


The real risk is lost value

The real risk in modern web development isn’t speed.

It’s lost value.

Value is lost when:

  • teams build broadly instead of finishing narrowly
  • products accumulate features but fail to become coherent
  • systems grow without ownership
  • “progress” is measured in commits, not outcomes
  • definitions of done remain permanently negotiable

Speed makes these failure modes easier to hide because it keeps you busy.

And busy feels like progress.


The scarce skill is no longer building

Building is accessible now.

So the scarce skill is finishing.

Finishing requires a set of abilities that are not fashionable to talk about:

  • saying no, repeatedly
  • defining what “done” means
  • forcing focus when everything is possible
  • choosing simplicity and defending it
  • maintaining ownership beyond the initial excitement

This is not a call to slow down. It’s a call to aim your speed.


Why “selling” becomes a technical skill

Here’s the part that feels uncomfortable in engineering circles.

If a smart mid-level engineer asks what to optimize for today, the best answer might not be another framework.

It might be old-school selling skills.

Not in the slimy sense.

Selling in the practical sense: communicating value, persuading people toward clarity, and aligning decisions so a team can finish what it starts.

Because in an abundant world, clarity is not automatic. It is negotiated.

Simplicity is not obvious. It is defended.

Ownership is not assigned by tools. It is claimed by people.

And “done” is not a technical state. It is an agreement.

The engineer who can build quickly is common now. The engineer who can build quickly and create alignment around what matters is rare.

That rarity is where value lives.


What to take from this

Modern web development is not in decline.

We are doing great. Better than great. We are exactly where a long trajectory of tooling, infrastructure, and abstraction was trying to take us.

We made building accessible.

Now we have to learn how to handle the consequences.

The next era of excellence will not be defined by faster tools. It will be defined by stronger judgment. Clearer ownership. Better restraint. More finishing.

Speed is easy now.

Finishing is not.

And that is not a reason to be pessimistic.

It’s a reason to be excited, because the hard part is finally the part that matters.

Share this article

Let’s Plan Your Next Project

If you’re building something fast, modern, and beautifully crafted — let’s talk. I help founders and teams turn ideas into polished, high-performance products.