The New Bottleneck Isn’t Engineering

Published

Lately I’ve had this feeling that something fundamental has shifted in the way we design and build software.

Not in a hype-driven way. More in a quiet, slightly uncomfortable way. I can build things faster than ever. Features that used to take weeks now take days. Prototypes that once felt too big to justify now feel almost trivial to spin up.

And I don’t think it’s because engineering got easy. I think it’s because it stopped being the bottleneck.

For a long time, writing code was the constraint. Engineering time was scarce, so it shaped everything else. Product decisions bent around what was feasible. UX was often compromised by what was practical. Business ideas lived or died based on how hard they were to implement.

That’s changing.

With tools like Claude Code, Codex, Windsurf, and similar, the cost of turning an idea into working software has dropped dramatically. The code still matters, but it’s no longer the thing slowing us down.

What slows me down now is deciding what should exist.

We can generate implementations quickly. We can try multiple approaches. We can refactor without fear. But choosing the right user experience, the right abstraction, the right flow... that’s harder. Figuring out what a user actually needs, or what problem is worth solving in the first place, can now actually take more time than writing the code around it.

I also think this shift pushes a lot of responsibility into places we used to hand-wave a bit. UX decisions matter more when you can build anything and everything. Product trade-offs become unavoidable when implementation isn’t the excuse anymore. And business and marketing questions stop being “we’ll worry about that later” problems, because later arrives very quickly.

This is where I think small teams and solo developers get real leverage. If you can think clearly about the product, the user, and the business at the same time, these tools are incredibly empowering. You don’t need a big team to execute anymore. You need clarity.

But that leverage cuts both ways.

When code is cheap, bad ideas don’t fail quietly. They ship. Fast. You can build something that looks finished without ever answering whether it’s useful, usable, or wanted. Speed doesn’t save you from poor UX or unclear positioning, it just gets you there sooner.

I think this is the part that feels uncomfortable for a lot of people. Engineering effort used to provide cover. Complexity bought time. Now the tools are happy to do the hard parts, and what’s left is judgment, about users, about trade-offs, about whether something should exist at all.

None of this makes engineering less important. If anything, it raises the bar. Someone still has to own the system, make sense of it, and keep it coherent. But the value shifts away from pure implementation and toward decision-making across product, UX, and business.

What’s changed is scarcity.

Engineering used to be the limiting factor. I don’t think it is anymore. The bottleneck has moved upstream into understanding users, making good product decisions, and figuring out how what you’re building actually fits into the world.