The challenge
Fast one day, messy the next.
Every developer had an assistant. Every developer had their own way of using it. The output ran quick and clean one day, then tangled and hard to review the next. Why would the same tool produce clean code on Monday and a mess by Thursday?
The answer sat in what nobody wrote down. A developer opens a chat window, describes the change in whatever words come to mind, corrects the model three or four times, and commits the result. The thinking that got them there stays in the session. What reaches the branch is an answer with its question deleted.
That holds up while the author is at their desk and still remembers. It holds up less well at review, where a reviewer can confirm that code runs and has no written target to check it against. It holds up less well the following month, when someone else opens the file. And in a bank it runs out entirely at audit, where the question is why the code was written this way, and the only person who ever knew has moved teams.
I stopped properly reading the generated code months ago. I just approve it. Nobody has ever pushed back on that.
Developer · day one
Speed was never really the problem. Their developers were already fast. The trouble was that the speed belonged to individuals, arrived in different shapes from each of them, and left the organisation with work it could not verify at the rate it was being produced.
The brief was short: make the engineers genuinely faster and the code more reliable, with the tools already in the building. So we ran a two-day, hands-on training with the teams themselves, on their own repositories.