Simon Willison on “vibe coding” with LLMs:

Most of the work we do as software engineers is about evolving existing systems, and for those the quality and understandability of the underlying code is crucial.

For experiments and low-stake projects where you want to explore what’s possible and build fun prototypes? Go wild! But stay aware of the very real risk that a good enough prototype often faces pressure to get pushed to production.

Indeed, most of the job is understanding and iterating on existing systems. Perhaps there is a future where code quality doesn’t matter–where code is not human readable at all. That’s more than a few years away though.