All posts
3 min read

The Hidden Cost of Building Too Fast With AI

The hidden tech debt packaged along with vibecoding

On the surface, it feels like AI has already replaced developers. Apps are scaffolded in minutes, features appear instantly, and demos come together faster than ever. From the outside, it looks like software development has been compressed into a prompt. But when you actually look inside many of these systems, a very different picture emerges.

What’s happening in a lot of companies right now isn’t elimination of engineering work, it’s the illusion of progress. AI-generated code often looks correct, compiles cleanly, and “works” just enough to move forward. But working is not the same as being maintainable, scalable, secure, or understandable six months later. Speed of output is being confused with quality of outcome, and that gap is where modern tech debt is quietly growing.

One of AI’s biggest limitations is context. Even the best models don’t truly understand a product the way a human team does. They don’t hold long-term architectural intent, business trade-offs, or historical decisions in their head. They generate locally good solutions without global awareness. The result is inconsistency — patterns that subtly change between files, logic that drifts over time, and systems that feel stitched together rather than designed. Individually, each decision seems fine. Collectively, reliability erodes.

This doesn’t mean AI is bad at writing code. It means it lacks the sustained, system-level context required to produce software that remains coherent as it grows. When teams shortcut design and review because “AI already wrote it,” they aren’t saving time — they’re deferring complexity. And deferred complexity is exactly what tech debt is.

There’s also a quieter, longer-term issue emerging alongside this shift: it’s becoming increasingly difficult to get an entry-level junior developer role. Companies are skipping junior hires in favour of AI-assisted output, but juniors are how seniors are made. If we stop investing in that pipeline, we don’t just risk bad code today — we risk not having experienced engineers tomorrow. Ironically, we may hit a shortage of senior developers long before AI is capable of truly replacing them.

I want to be very clear: I am not an AI sceptic. Developers who use AI well will massively outstrip those who don’t, and that gap will only widen. AI is an extraordinary assistant. It accelerates problem-solving, removes friction, and amplifies productivity. In the hands of someone who understands systems, it’s a genuine force multiplier.

But assistance is not replacement. At least not yet. The most effective developers use AI to support their thinking, not replace it. They still make architectural decisions, enforce consistency, and own the long-term health of the codebase. The least effective uses of AI treat generation as a substitute for understanding, and that’s where quality quietly collapses.

Right now, many organisations are using AI to move faster without realising they’re trading short-term velocity for long-term fragility. It feels efficient because the costs aren’t immediate. But when the product needs to scale, change direction, or onboard new engineers, those hidden shortcuts surface — and they surface expensively.

AI didn’t eliminate tech debt. It made it easier to create at scale. Used intentionally, it raises the ceiling of what developers can do. Used carelessly, it accelerates the exact problems teams have been fighting for decades. The difference isn’t the tool. It’s whether someone is still accountable for the thinking behind the code.