The code that wouldn't die
I remember this piece of code.
Messy doesn’t even begin to describe it. At least once a year, someone would try to kill it. And fail.
On paper? Simple. It picked which market and language a user lived in. Geographic data plus browser settings, with some fallbacks thrown in. Easy, right?
Wrong.
The code was so woven into our system that touching it meant rewriting everything. We kept thinking “IT JUST PICKS MARKET AND LANGUAGE!!!1?” But that abstraction blinded us to the real complexity.
I see the same pattern now with AI-assisted coding.
You dip your toes in. You think everything’s simple. “Just build me an app that does X.” But you’re the complexity. You understand the full flow. You abstract away all the messy details that make starting from scratch so hard.
This is where Gall’s law hits you: “Complex systems that work have invariably evolved from simpler systems that worked.”
Start smaller. Start easier.
Don’t go all-in on “Create an app where everyone can chat with everyone in the world and it should be encrypted.”
Start with two people. Make that work first.