My university professors used to tell stories about feeding stacks of punched cards into mainframes, only to watch the entire job fail because one single hole was punched in the wrong column. The machine didn’t argue or “misunderstand.” It simply didn’t work. Their job was to debug, repunch the card, and try again. Half a century later, I catch myself muttering the exact same sentence when an AI gives me the wrong output: “This thing is not doing what I told it to do.” That familiar frustration is the giveaway. It’s not a conversation that went badly. It’s a program with a bug. Real programmers don’t treat the failure like a human misunderstanding. We don’t get increasingly polite or emotional. We debug. We narrow the requirements, add examples, enforce output structure, chain reasoning, and iterate. Non-programmers usually don’t. They rephrase nicely, then impatiently, then give up — treating the AI like a stubborn colleague instead of a machine that needs precise instructions.…