logoalt Hacker News

barrkeltoday at 6:17 PM0 repliesview on HN

The hard thing about coding isn't really the code. It's the data. Both data at rest and data flowing in and out of your system.

Vibe coding creates the illusion that code has become far more malleable. And it has, for greenfield, for a game, for a one-off stateless utility.

But most applications of significance work with a lot of data. Data resists the malleability you have with code. At scale, data is expensive to migrate and it's easy to make a mistake that loses data. With distribution, you may have to act at a distance, and write code you hope will work with the data where it is, and follow careful migration patterns like dual writing, fallback read, ongoing rewriting and so on, at a distance.

Distributed or privacy gated data generates constraints that AI can't easily see, can't easily react to. AI thrives on quick feedback loops. Test-first works great. Testing in production only works when it's your hobby project.

In many ways, software businesses are gardeners of data. Data creates stickiness; when customers decide to take their data elsewhere, or create a new stock of data somewhere else, that's when they churn.

I'm not sure the unleashed masses would be happy to be such gardeners.

And there's a deeper point here, about sovereignty. Even if we have the magical data systems of the future, that the AI can do as you say, even though it's hard to execute, and the AI will still do it reliably: what if you tell it to do something irreversible? To drop a column, to combine separated data into one blob. The AI might advise you not to do it, but the AI can't actually fix the problem of bad judgement without removing your sovereignty. And that would be a very dangerous place to go; I would hope, and expect, that we don't go there.