Is It Cheating?
There’s a lot of hand-wringing on the Internet about engineers using LLMs to code: whether we’re doing ourselves a disservice, letting our skills atrophy, getting dumber, shooting ourselves in the foot, digging our own graves, etc. My own experience working alongside AI tools like Claude Code has reignited my imposter syndrome to a degree.
I’ve felt this way before. Years ago I was asked to interpret a half-hour speech from English into Japanese. I was given the outline the speaker would use ahead of time, and I knew my Japanese was just barely good enough to do an adequate job with preparation and my own notes on the tricky vocabulary. But I wanted better for the audience, so I “cheated.”
I got lucky: the speaker gave the same speech in two other cities in the prior weeks, each time interpreted live by a different native Japanese speaker. I attended both and made recordings. My heart sank as I listened. Their fluency and speed were on another level, and I realized I was in way over my head. The speaker kept wandering off his outline: jokes, metaphors, asides, and both interpreters rolled with it effortlessly. I transcribed their work and pored over it, looking for hints. But the closer I looked, the more the cracks showed. For all their polish, neither was perfect. One would land a more accurate or evocative phrase where the other fumbled. Sometimes they’d quietly ask the speaker to repeat or rephrase a line; other times they’d quietly drop a minor idea, or reach for a complicated phrase when a simple one would have done.

Armed with their prior performances, I ended up doing a much better job than I would have on my own, so much better that I felt a little embarrassed. Afterward, when people congratulated me on my sudden interpreting talent, I admitted to “cheating” and gave credit to the other two interpreters. My bilingual friend Yuji shrugged this off as simply good preparation. He pointed out I’d also had an advantage neither interpreter had: as a native English speaker, I had 100% comprehension of the source material. During that talk he himself was thrown by a mangled English idiom, mishearing “two peas in a pod” as something like “two bees in a pod,” and losing a sentence chasing the wrong image.
So was I cheating? If the point was to test my personal, unaided ability to interpret English into Japanese, then yes. Or if I’d basked in the praise and let people believe I was naturally that gifted, also yes. But the actual point was never me. The focus was on the speaker and what he had to say, not on my performance. The goal was audience understanding, not Barnabas glory. The ends justified the means, because the means were never really the point.
Writing software with AI coding agents, I feel a similar twinge of guilt. I labor over a prompt, turn a state-of-the-art agent loose on a giant codebase, and it comes back with sharp analysis and working code in a fraction of the time it would have taken me. It makes me feel old and slow. But on closer inspection, the polish has cracks too: my counterpart sometimes misses the “metaphor” (the right abstraction), over-engineers something that should be simple, or quietly drops a requirement altogether. Nobody seriously expects engineers to hand-type all their code anymore, so while my raw “output” stopped being a measure of my ability, that was never really the point either. The real question is whether I, with all my tools and preparation and experience, can still produce tasteful craftsmanship. That has always been the only task worth doing.


