Comment by simonw

4 months ago

Where did Andrej say it was "the future of software engineering"? He very clearly described vibe coding as an entertaining way to hack on throwaway weekend projects.

Try reading the whole tweet! https://twitter.com/karpathy/status/1886192184808149383

"Would you yourself want vibe-coded software that is in highly critical systems such as in aeroplanes, hospitals, or in energy infrastructure?"

Of course not. That's why I wrote https://simonwillison.net/2025/Mar/19/vibe-coding/#using-llm...

To save you the click:

> The job of a software developer is not (just) to churn out code and features. We need to create code that demonstrably works, and can be understood by other humans (and machines), and that will support continued development in the future.

> We need to consider performance, accessibility, security, maintainability, cost efficiency. Software engineering is all about trade-offs—our job is to pick from dozens of potential solutions by balancing all manner of requirements, both explicit and implied.

> We also need to read the code. My golden rule for production-quality AI-assisted programming is that I won’t commit any code to my repository if I couldn’t explain exactly what it does to somebody else.

> If an LLM wrote the code for you, and you then reviewed it, tested it thoroughly and made sure you could explain how it works to someone else that’s not vibe coding, it’s software development. The usage of an LLM to support that activity is immaterial.

> Where did Andrej say it was "the future of software engineering"? He very clearly described vibe coding as an entertaining way to hack on throwaway weekend projects.

... And then a few weeks later, my boss' boss scolded the team for not having heard of the term, and told us to learn and use vibe coding because it's the future.