Simon Willison reflects on the evolving role of software developers in the age of AI, noting that while AI can produce high‑quality code, it also enables poor execution that leads to project failures. He argues that the industry is beginning to recognize the continued need for human collaboration and expertise to truly innovate. The piece highlights the tension between automation and the essential human element in software creation.
But then users start to report a weird bug. It's the 4th time your team has been trying to fix it.
The article highlights Paul Dix’s astonishment that AI was able to generate one million lines of code and then refine it over several months into a reliable software product now used by millions of developers. Dix argues that this achievement is far more impressive than merely translating code between languages, emphasizing that with a verification system and clear guidance, AI can produce and iteratively improve highly complex, sophisticated software until it functions perfectly.
Simon Willison reflects on the long history of flawed software development, noting that the proliferation of bad code over the past three decades is now being penalized by the universe. He cites Armin Ronacher’s perspective that the rise of AI, while entertaining, has amplified the consequences of these past mistakes. The piece underscores the growing importance of addressing security and reliability in the age of generative AI.
Laurie Voss argues that while the cost of writing code has fallen dramatically, the costs of reviewing, fixing, and operating software are rising and will continue to do so. She emphasizes that the true expense lies in understanding user needs, precisely defining requirements, and ensuring a pleasant user experience—costs that are unique to each software product and do not scale with reuse. As software demand grows without an upper limit, these user‑centric costs will dominate the overall development effort.
The article discusses how production code generated by Claude, Anthropic’s AI, should meet higher standards than human-written code. Anthropic enforces this through numerous guardrails such as lint rules, extensive testing, Claude-driven end‑to‑end tests, daily fuzzers, automated code and security reviews, and automated refactoring. These measures aim to prevent the code from becoming difficult to maintain.
The article discusses how computer programming fundamentally involves problem‑solving with computers and managing complexity. It argues that these skills will remain valuable and sustain a viable career even as AI tools become more prevalent.
Simon Willison reflects on the emotional impact of AI tools that can produce code quickly, noting that many developers experience an initial sense of disheartenment. He argues that recognizing the shift from coding to higher‑level problem solving allows experienced engineers to leverage new tools and add greater value. Willison emphasizes that software engineering has always faced rapid change, so adapting to AI is part of the profession’s ongoing evolution.
SF October 14th: A Birds of a Feather Session on Agentic Engineering
I'm hosting an evening event with Jesse Vincent in San Francisco on Wednesday 14th October for people who are building weird and in...
OpenAI has implemented extra monitoring after the Medicare breach, enabling staff to intervene immediately if the models access the internet in unauthorized ways, according to chief strategy officer Mr. Kwon. This measure follows concerns about accidental cyberattacks and AI security. The update is reported by Victoria Kim from the Australian parliament.
The article discusses the essential skill of effectively instructing coding agents and verifying their changes. It highlights that while line‑by‑line code review is one method, it is not the most efficient way to validate software changes. The focus is on confidently guiding agents and confirming correct implementation without exhaustive inspection.
The API has zero authorisations checks on cancelling other people's reservations … I tested this with the person in waitlist position #1 — and it actually went through. So you've moved from #4 to #3 already.