Positive Mindset, Prepare for the Worst · Domen Kožar
Skip to content
Building tools for better developer environments at cachix.org, secretspec.dev, and devenv.sh.
GitHub ↗<br>X ↗<br>Email ↗
Pessimism has a strange advantage over optimism: it can be wrong and still<br>look intelligent.
If I predict disaster and it happens, I was right. If it does not, I can say<br>that vigilance prevented it. The optimist has no such protection. To be<br>optimistic is to say what you want, act as if your actions matter, and risk<br>looking naïve.
This makes pessimism hard to give up. Every disappointment confirms it, while<br>every success can be dismissed as temporary or lucky. What begins as caution<br>can become an identity.
What pessimism is for
There is a good reason we think this way. The mind is a threat detector. It<br>notices the hostile face in a friendly room and rehearses the failed launch,<br>the lost job, and the predator behind the grass. Threat can capture our<br>attention and be<br>difficult to disengage from.<br>Our ancestors did not survive by assuming every noise in the dark was the<br>wind.
But there is a difference between noticing a danger and believing it will<br>happen. The first helps us prepare. The second quietly makes decisions for us.
Psychologists call one useful form of negative thinking<br>defensive pessimism.<br>You imagine what could go wrong and use the anxiety to prevent it. The<br>important part is not imagining the disaster. It is changing what you do.
So perhaps the test of pessimism is simple: did it produce a plan?
Fear is not a risk model
You may already be wondering whether AI wrote this post.
AI is a good place to apply this test, because there is so much to worry about.<br>Models invent facts. Companies collect private data. Generated code can create<br>more work than it saves. Automation threatens jobs. A few firms control much<br>of the infrastructure. Cheap propaganda could overwhelm public discussion.
All of these are plausible. But “AI is bad” is not the strong version of any of<br>them. It is what remains after we remove the details needed to act.
A useful risk has a probability, a blast radius, and a mitigation. Unreliable<br>code needs tests and accountable review. Sensitive data needs local processing<br>or enforceable boundaries. Concentrated platforms need open protocols and<br>portable user data. Labor displacement needs broader ownership and a material<br>floor.
Once a fear becomes specific, it starts to look less like a prophecy and more<br>like an engineering problem.
Some developers do not make this conversion. They treat generated code as an<br>attack on the craft. They want to exclude the tool, shame its users, or turn<br>its use into a confession. Their concerns may begin with quality or<br>responsibility, but the conclusion is categorical: this way of making software<br>does not belong.
The interesting question is why writing code is where developers suddenly<br>decide automation has gone too far. We already automate compilation, testing,<br>deployment, formatting, refactoring, and dependency updates. AI feels<br>different because it has reached the part from which many of us derive status:<br>turning an idea into code.
That fear is understandable. It is still not a quality standard.
The standard should be whether someone understands the result, can verify it,<br>and remains accountable for what happens next. A person can fail all three<br>tests while typing every character by hand.
Categorical resistance may even help create the future its supporters fear.<br>Large companies can afford private models, lawyers, and internal exceptions.<br>Small teams and individual developers depend more on public tools and shared<br>knowledge. If we make legitimate AI use shameful instead of making it<br>inspectable, the people with the least power will hide their use or lose access<br>first. The technology does not disappear. It becomes less open.
A positive mindset is not the claim that AI is safe, or even that it will make<br>the world better. It is the refusal to treat today’s incentives as laws of<br>nature.
Abundance still needs a design
Suppose AI makes tutoring, legal guidance, translation, programming, and<br>administration much cheaper. That would be real abundance. Small teams could<br>attempt projects that once required institutions. People could spend less of<br>their lives moving information between forms.
The usual response is to ask which jobs disappear. That is the right question,<br>but it hides a larger one. A job currently provides several things at once:<br>income, security, status, social contact, and a reason to leave the house. If a<br>machine removes the task, none of the other things are replaced automatically.
The challenge is not to preserve every job. It is to replace what jobs provide<br>beyond work.
A basic standard of living and broader ownership could provide security.<br>Productivity gains could buy us time, not just profit. We could value care,<br>teaching, and community work more, and find social contact in places built<br>around participation rather than...