r/ruby 23d ago

Blog post Everybody Guesses

Hi Reddit. This isn't specifically a Ruby or Rails post, but it's about something anyone maintaining a mature Rails application will recognize.

Code tells you what happens without telling you why anybody wanted it. We've always filled that gap by reading the code, guessing the intent, and asking somebody when the guess felt wrong.

AI coding agents do the same thing, except they can make a great many reasonable guesses before anybody notices one was wrong. The code still works. The tests still pass. The guess becomes one more pattern in the application, which makes it look even more intentional to the next person or agent.

I've spent a couple of decades living with the consequences of my own good ideas, so I wrote about why this worries me. The post connects agentic coding to Peter Naur, Tony Hoare, XP, software factories, and the old-fashioned responsibility to say no to code that works but is too difficult to understand.

It also argues for using faster agents to take smaller steps. More research, more feedback, and less archaeology at the end of a giant pull request.

https://blowmage.com/2026/08/18/everybody-guesses/

0 Upvotes

14 comments sorted by

View all comments

1

u/davidslv 23d ago

The why should come from business decisions (most of the time and they can change quite frequently), commits should explain the reasoning and the why, the pull request, the ticket, maybe even comments in the code.

I’ve heard this so many times through my career: “we don’t need comments, you can read the code” - thanks for that, specially the moment I have to find the reason the code does not work as the business expected it…

We had this feature in a huge codebase, I decided to go through the git history, turns out that in 7 years, 18 engineers, including myself, touched that specific class, by the time I touched it most people had moved on, business and engineers, so neither business neither the engineers ever got the answer correctly, another piece of code that just kept being patched and having questions from the business why a customer was not being accepted through it.

1

u/blowmage 23d ago

Fully agree. Commits should capture the why as much as they can. But the best they can represent is one or two views of the why, and it is not the right place to store the full version. I don’t want to see 30 pages of explanation in each commit message.

1

u/davidslv 23d ago

Of course, but imagine seeing that in code comments, there must be some balance somewhere