posts

Code is cheap. Ship me opinions

There’s a growing belief that if AI can generate code on demand, packaged software becomes obsolete. Why buy a product when you can prompt your own? Why accept someone else’s defaults when you can design your own system from scratch?

That argument assumes something dangerous. That people already know what they want. That their first instinct is better than patterns refined over years. That expertise can be replaced by access.

Software has never been just code. It has always been code plus judgment. Code plus constraint. Code plus someone deciding what matters and what doesn’t.

The real tension isn’t AI versus SaaS. It’s flexible versus opinionated.

The blank canvas trap

Tools like Notion are flexible by design. A blank canvas, infinite blocks. You can build a wiki, a task manager, a CRM, a life dashboard. For personal systems, that freedom is powerful. It bends around your taste, your instincts, your creative impulse.

But once you involve a team, that blank canvas becomes a burden. You’re no longer just building a workspace. You’re defining principles. How work flows. How priorities are set. What done means. Every choice becomes a micro philosophy decision, and every decision must be enforced socially.

That costs energy — the kind that compounds quietly until it’s the reason nothing ships.

Inheriting a point of view

Then there are tools like Linear. Opinionated from day one. They’ve spent years thinking about how software teams should operate — cycles instead of endless backlogs, clear ownership, small sharp issues, deliberate workflows. You don’t start from zero. You inherit a point of view.

And that inheritance is leverage.

When I work with teams, I’ve learned that the hardest problems aren’t technical. They’re about alignment. Shared language. Shared rhythm. Shared expectations. A flexible tool pushes that burden back onto the team. An opinionated one absorbs part of it.

You’re not buying convenience. You’re buying compressed expertise.

Constraints as strength

AI-generated software assumes everyone wants to design their own operating system. Some founders and tinkerers do. Most teams don’t. They want to build their product, not endlessly refine the process around it.

Flexible tools are a box of Lego bricks — perfect for exploration. Personal creativity thrives there. But once coordination matters, constraints become strength. The right constraints reduce noise. They remove arguments you don’t need to have. They create consistency without constant policing.

Experts spend years burning their hands on bad patterns. Good software encodes those lessons into defaults. That encoding is the product.

This isn’t to say software stays frozen. Interfaces will evolve — how we interact with products may look radically different in a few years. The demand for hyper-personalization will grow as users expect tools that adapt to their context, their role, their way of working.

What won’t change is the need for someone to have thought deeply about the problem underneath. The surface may reshape itself. The judgment beneath it still has to come from somewhere.

Why software endures

AI will make building easier. It won’t replace judgment. It won’t replace the quiet accumulation of trade-offs that shape a strong product philosophy.

Everyone making their own soup sounds empowering. In practice, most kitchens run better when someone has already perfected the recipe.

Software isn’t dead. The need for embedded expertise is stronger than ever.