I was chatting with a friend earlier this week about a project they’d spearheaded at work. It was a classic platform project, wherein they’d introduced a reusable system which solved a problem faced by multiple teams across the company.

It sounded like the project was off to a good start, with at least one team onboarding and others interested in doing so. But my friend wondered aloud whether teams will be as motivated to adopt platform components in light of agentic coding tools. If code is free to produce, then what value is there anymore in reuse?

It’s ironic because I’ve seen AI used as an argument both for and against reuse, at least when it comes to open source.

  • For: “We should use <popular open source framework> because Claude knows all the best practices.”

  • Against: “I can just have Claude bang out a custom solution instead of having to fuss with <popular open source framework>.“

I think we need to retire the line that “the cost of writing code is going to zero”. It has been reduced; drastically, even. But we’ve learned that tokens cost real money and money, after all, is still technically a finite resource.

This conversation has me wondering if we’re going to see a new argument emerge in favor of investing in a company’s internal platform. Rather than AI being the great commoditizing force that drives the value of code to zero, it will remain a resource that provides leverage to an organization.

Yes, I can always ask an agent to write a full stack of code to implement a feature. But doing so will always be more expensive than asking the agent to implement an upper subset of that stack, leveraging well-crafted existing components in the bottom layers. This leverage has been the bedrock of software engineering as a discipline for 60 years and I don’t see it going anywhere just because programming has hopped up a layer of abstraction.

Caveat emptor, much of my career has been spent on platform teams, and true to form, I tend to have an overdeveloped predilection for reuse. Arguing in favor of platform engineering is basically me talking my book.

But I’ll also throw in an appeal to authority: before I got to writing this post, Martin Fowler scooped me with this great article making a similar argument in favor of refactoring.

The goal of refactoring an agentic code base is to spend tokens now in refactoring to make token consumption for future work lower.

Discussion about this post

Ready for more?