The Realist Adjusts The Sails
I have always lived in the wilderness.
I am the guy who gets called when the co-founder embezzled a bunch of the company’s money, and they need someone to fix the product, but they don’t have the funds. Or the product has already had six “hot shot” ex-fang programmers with “strong opinions” who all half implemented their ideas and now the product’s code goes in different directions because they thought the code wasn’t fashionable for the time. Or there was a rift with the original developer so he ran off with all the DNS and AWS logins. Or the original website developer died so there was no way to get the original source code. Or the product just doesn’t fit the market, and they have about 2 months of runway left and need to pivot to “something”.
So when I hear software engineers say “AI doesn’t write good code”, I ask them to point me to something, somewhere in the real world that actually has good code. Name the place you worked where that existed. The Linux Kernel, SQLite, the Go standard library? There are people who would disagree with whatever you point to and would rewrite the whole thing if given the opportunity.
I’ve never worked at a high-rolling company, so maybe that is where they keep all the perfect code, but from the stories I have heard, I don’t believe that is the case either.
Projects almost always start out with a logical simple to understand architecture, but as soon as they get to the point where they are doing anything interesting, multiple people work on it, or it starts making any kind of money the odds are extremely high it will devolve into an Esher painting room of mirrors. Entropy, from what I have seen, always wins.
“AI puts keys in the repo”, I’ve seen far too many humans do that. “AI just copy / pastes code without any thought”, yes, there is a human meme for that. “AI makes crazy pointless abstractions”, oh, don’t get me started. Humans who all passed your leet code interviews or whatever do that.
📝 Aside: we’ve had 85+ years of research showing what predicts job performance. The tech industry looked at that research and invented whiteboard / coding interviews anyway. Those have since been shown to primarily measure anxiety. We are selecting for people who are good at being interviewed, then wondering why our teams don’t perform.
Engineers that have been around long enough already know almost all code is bad code. The cantankerous grey hairs have, over the years, evolved a set of skills and intuitions to work on bad code - a.k.a. code.
I’ve been playing a lot with AI generated code from big frontier models lately and, from what I can tell so far, the code it makes is now as bad as most the other code I’ve seen out there. The people complaining about it are often the same people who would complain about any codebase.
I would love to live in a world where code could be hand crafted into an architectural mathematical beauty, but the reality is something janky that makes money will win because it was made faster, got to market first, and has paying users. And the owners of that janky product will be the people that can pay you a salary to try to fight off the jank.
All this to say that if you’ve lived your life in the wilderness like I have, you might have a unique advantage right now. Or at the minimum, you’ll have an easier time when people call you to help with their AI code because from your point of view, nothing much will have changed.
Champions don’t complain, they are too busy getting better.