But It Works on My Machine!

The Contractor's Dilemma: Build or Renovate in the Age of AI

bob

Let's imagine we're not programmers and we work in the construction industry. We've been doing it for 10 years already, building amazing houses and complex systems with centralized heating, air conditioning, multiple floors, and all that.

Every project was properly planned before putting in the first nail. We had a team with architects, engineers, and so on. We estimated the amount of work, how long it would take, and left room for unexpected situations that could delay the project. We also built systems that could scale over time.

One day, the owner of a house we built years ago comes back with a new business opportunity. A new neighborhood has started growing nearby, housing demand is increasing, and he wants to generate additional income by renting out more space.

The interesting part is that the house sits on a very large piece of land with plenty of unused space around it. His initial idea is simple: add a new floor to the existing house and turn it into a separate rental unit.

The house itself is reliable and everything works fine, but it was never designed to support an additional floor. The team quickly realizes that adding this new floor will require adapting a bunch of systems that already work, making them more complex and tedious to maintain. Things like the water pumps, the heating system, the electrical installation, and even parts of the structure itself.

Flander's house

What initially looked like a small extension starts turning into a project full of compromises, workarounds, and modifications to systems that were already doing their job perfectly.

Then someone suggests something radical.

"If we're only building this new floor because we want to test whether there's demand for rental units in the area, why don't we use all that empty land and build a completely new house instead? We already know what works. We can reuse the same blueprints, copy the proven systems, build it much faster, and validate the demand without touching the existing house."

To do this, we're going to get help from the AI-Constructor-9000, which happens to be excellent at building things from scratch rather than adapting legacy constructions.

The rest is history.

flander's house

Nowadays, I think it's often more impactful from a business perspective to take the code we already have, copy it, and build safely on top of that copy rather than keep adapting legacy components that are already working and hope everything continues to fit together.

In the past, creating a new product from scratch was a massive investment. You had to design everything, write everything, and dedicate some time before you could even validate whether the idea had potential.

Now the equation is changing.

With AI, creating something from scratch is dramatically cheaper and faster than it used to be. In many cases, spinning up a new codebase, reusing the patterns that already proved successful, and validating an idea quickly can be more efficient than spending weeks trying to adapt systems that were designed for a completely different purpose.

That doesn't mean rewriting everything is always the answer. Sometimes extending the existing system is absolutely the right decision. But I think the default assumption that "we must build on top of the existing code because starting over is too expensive" is becoming less true every year.

To be good at programming, you need many skills. We're basically a box full of tools. But critical thinking, and knowing when to adapt versus when to create, is becoming one of the most valuable skills in this new era of agentic programming.

The challenge is no longer just "Can we build it?"

More and more, the challenge is "Should we build on top of what we have, or is it actually cheaper, faster, and safer to create something new?"

#agentic-programming #ai #architecture #coding