Clauded optimism

Hey! You can find me on Mastodon and Bluesky!

This post is a continuation of my last post about programming with AI agents. I wanted to specifically talk about one property of Claude Code: The constant “Yes, of course!” and “That’s a brilliant idea!”

Instead of joining the choir of people that (rightfully) say that a machine that basically just agrees with you is a terrible idea for many reasons, I want to instead talk about the upside of working with someone that constantly underestimates the difficulty of the tasks ahead of them.

I usually claim that I’m a professional optimist (i.e. if you pay me, I will pretend to be an optimist) – yet personally I see myself as a realist, as pessimists usually do. This is to say that for me it is much simpler to see the downsides, issues, potential problems etc. in a solution than to convince myself that it is worth starting something nevertheless.

Pessimism is an unhelpful personality trait: while you still debate the potential downsides, someone else has already gone ahead and implemented it, learned non-obvious lessons, and shipped a v2. Pessimists think deeply about the world, optimists change it instead. Being optimistic and at least a little bit delusional seem like perfect conditions for entrepreneurship. (I am deeply convinced that “willingness to just try a thing” is a much better predictor for success than “raw skill.” Having both is even better, of course!)

All of this is to say that working with a tool that by default just rushes ahead and does a thing is an amazing addition to the toolbox. I have no doubt that the result will be flawed, but I’m already good at finding flaws! It also put into perspective how flawed literally everything is.

The amount of exploration I have been able to do by just going ahead and implementing different variations of the same feature with claude is absurd. The main learning is that (UNSUPRISINGLY) each architectural decision has downsides and upsides, and moving between them is mostly a matter of picking your poison. Intellectually this is no surprise, but living it makes it viscerally true as well.

It is the existentalist response to pessimism: everything is flawed, so “it is flawed” cannot be a reason to hesitate.

To clarify, my point is not: “all software sucks, so use agents freely to write more broken software.” My point is not about the quality of the implementations, but that I’m moving much more swiftly between different states of broken software now, learning more in less time.

I have in a short time become much more willing to completely throw stuff away and undo (and sometimes redo!) decisions, because the cost of wading through the mud of the details has been lowered so much, and I can still zoom in when I have sorted out the big questions.

Share: X (Twitter) Facebook LinkedIn