Why AI Won't Reinvent Software Overnight: Benedict Evans on the Limits of Generative Tools
Benedict Evans' latest essay, "AI, Tools and Transformation", pushes back on the Silicon Valley fantasy that AI will let users spontaneously generate the software they need, eliminating the need for traditional enterprise suites. His core argument: the bottleneck isn't building tools, it's knowing which tools to build and getting hundreds of people to adopt them.
The "Engineer's Joke" Reversed
Evans opens with the classic joke: an engineer will spend an hour automating a task that takes 10 minutes. But with AI, "you can make that tool in five minutes, and you don't need to be an engineer." The intoxicating idea is that software becomes dynamic, generative, free-form—massively more tasks automated with massively less code. Yet he cautions this misunderstands how software gets adopted inside real companies.
Why Most Users Aren't Tool-Builders
Drawing on the reality of a typical large enterprise—hundreds of SaaS apps, scripts, and spreadsheets—Evans notes that most people aren't like Silicon Valley engineers. "If you're a really great matrimonial lawyer, you spend all your day thinking about your cases and your clients, not about what great legal discovery software would do." This is why spreadsheet templates and 'File/New' suggestions exist: they try to bridge the gap for non-builders, but they remain partial answers.
The missed opportunities are often invisible to the people who have them. Evans cites the emerging role of the 'forward-deployed engineer'—someone who can walk through a law firm or architecture office and spot automation potential that the expert doesn't see, the way a tech-savvy teen might say, "Daddy, did you realise you could just do it like this?"
Seeing the Problem Is the Hard Part
Beyond individual perception, many transformative automations weren't obvious even to engineers. "We can all think of examples of stuff we use every day where our first reaction was 'Why would I want that?'" The problem may be embedded in another workflow, and finding the right solution often requires redefining the problem itself—something that took half a dozen failed attempts for many successful software companies.
Automation Touches Departments, Not Just Individuals
Scaling a workflow change beyond a single user is what Evans calls the "institutionalised to improvised" spectrum. A bottom-up spreadsheet can handle a department, but a new accounts payable process touches five departments, three systems of record, and four regulatory regimes. That change "has to be a purchase, and a decision, and an 18-month sales process," not just a quick AI prompt.
None of this is solved by making it easier to write code. The hard parts—recognizing the need, defining the tool, and driving adoption—remain stubbornly human and organizational. That's a sobering counterpoint to the 'democratizing software creation' narrative we hear so much.
📖 Read the full source: HN AI Agents
👀 See Also

Scoring Show HN Submissions for AI Design Patterns
A developer analyzed 500 Show HN landing pages to detect common AI-generated design patterns like Inter fonts, colored left borders, and glassmorphism. The scoring system identified 21% of sites as 'heavy slop' with 5+ patterns.

Claude API Usage Data Shows Impact of New Limits on Max Plan Users
A Claude Max 20x user reports API-equivalent daily usage dropping from ~$210/day to ~$52/day after new limits were implemented, requiring significant workflow changes including using Sonnet and Codex.

Stanford Study: Law Professors Prefer AI Answers Over Peers 75% of the Time
In a blind evaluation of 3,000 comparisons, law professors rated AI-generated answers significantly higher than peer-written ones. AI responses were flagged as harmful only 3.5% of the time vs 12% for humans.

C++26 Standard Draft Finalized with Reflection, Memory Safety, Contracts, and Async Framework
The C++26 standard draft is complete, introducing reflection for metaprogramming, enhanced memory safety that eliminates undefined behavior for uninitialized variables and adds bounds safety for standard library types, contracts with pre/post-conditions, and std::execution for concurrency.