Your codebase is a commons
Your codebase degrades the same way shared resources do: not from malice, but from missing governance. Elinor Ostrom proved the commons can survive. Her principles map to software teams with uncomfortable precision.
Your codebase degrades the same way shared resources do: not from malice, but from missing governance. Elinor Ostrom proved the commons can survive. Her principles map to software teams with uncomfortable precision.
Business users love Lovable. Engineers tend to panic. A real-world case study of how to wrap an AI builder in guardrails so non-technical teams can move fast without quietly rewriting the systems that give your product its edge.
Every software company claims to be different. The "we don't need X because we have culture" exemption is special pleading. The four phrases that reveal it, and the questions that break them open.
CTOs who built their company's survival by doing everything can't escape that role by scheduling a holiday. Moving from doing to enabling is a skill and identity shift at once. One thing handed off permanently is where the exit starts.
I used to teach people to code. And looking back, I was teaching students to write it by hand while the tools that write it for them were getting better every single month. So what should a coding classroom actually look like now?
Every legacy codebase is a palimpsest: layers of decisions written on top of each other, none fully erased. Geoffrey Dhuyvetters argues that what looks like technical debt is often stratigraphy, and you read it before you rewrite it.
Most AI-powered customer support is optimised for deflection, not resolution. The problem isn’t bad agents, it’s architecture: no shared context, no real permissions, no escalation path that works.
AI removes bottlenecks until it reaches the one that doesn’t move: human cognition. The faster AI makes your system, the more your team’s mental capacity becomes the constraint. You can’t add more of it.
The claude -w flag spins up an isolated git worktree in seconds, so you can keep coding while a long-running task occupies your main session. No conflicts, no context pollution, no waiting.