Tweeted "always dot your ts" then "see, I almost forgot to cross my lower case js." Joke that goes meta. Looks like a typo, was deliberate.
The serious version: when the model writes most of your code, the only thing left for you is the tiny attention.
A model generates a function that's 95 percent right. The 5 percent is the spread between "passes tests" and "fits the system." Tracking that 5 percent is the new job. Tiny things. Variable names that match the domain instead of generic "data" or "result." Early returns instead of nested ifs. Error messages that say what to do, not what failed. Deletion of the four lines the agent added just in case. Renaming the function so the caller reads as English.
None of this changes what the program does. All of it changes what the next person feels when they open the file. The next person is usually future-you, or another agent that does better with clean signal. Code that reads cleanly compounds. Code that doesn't, accumulates noise that the next prompt has to wade through, which makes the next prompt worse, which makes the next code worse.
The temptation in the AI age is to ship faster. Accept the function. Skip the rename. Move on. That works for a week. By month two the codebase is a soup that needs the agent to read it back to you because no human can anymore. Then you find a bug, can't locate it, ask the agent, the agent can't locate it either because the soup is the input.
The craftsmanship work nobody asks for is the work that compounds. Speed is borrowed from a model. Care is yours. A clean line will be readable in five years. A generated line that's almost-right will be in the way for five years.
Dot your ts. Cross your lower-case js. Especially the ones the model generated and didn't bother with.
— Simon