July 10, 2026
Linus Torvalds Said the Quiet Part Out Loud About AI and Code Quality.
Linus Torvalds spoke in Mumbai two days ago. What he said about AI, code quality, and what engineering actually is will make a lot of…

By Noah Byteforge
6 min read
- 1 Linus Torvalds Said the Quiet Part Out Loud About AI and Code Quality. The Engineering Community Is Not Ready for It.
- – Linus Torvalds spoke in Mumbai two days ago. What he said about AI, code quality, and what engineering actually is will make a lot of people uncomfortable.
- 3 What he said about AI that nobody is quoting correctly
- 4 What he said about Rust that engineers are missing
- 5 What the AI section of his talk actually means
Linus Torvalds Said the Quiet Part Out Loud About AI and Code Quality. The Engineering Community Is Not Ready for It.
Linus Torvalds spoke in Mumbai two days ago. What he said about AI, code quality, and what engineering actually is will make a lot of people uncomfortable.
Two days ago in Mumbai, Linus Torvalds said something that has been sitting with me since I read it.
He said he is no longer a programmer.
Not in the sense that he has lost the ability. In the sense that he made a deliberate choice about what his job actually requires. He reads pull request descriptions now more than he reads code. He understands intent more than he reviews implementation. He sends patches as suggestions, not directives, and expects the maintainers who understand the specific subsystem to send the fix back.
He has been building and maintaining the Linux kernel for thirty-five years. He created Git. He is arguably the most consequential systems programmer alive. And he said plainly, at the Open Source Summit India 2026, that he hardly reads code at all anymore.
The reason that sentence matters for engineers working in 2026 is not what it says about Torvalds. It is what it says about what engineering actually is once you stop confusing it with writing code.
What he said about AI that nobody is quoting correctly
The coverage of Torvalds talking about AI is focusing on the provocative parts. The hallucinations. The junk patches. The drain on maintainer time from bogus bug reports that look entirely valid and take significant effort to identify as machine-generated.
Those are real and worth understanding. But the more important thing he said is getting less attention.
He described AI-generated patches as mindless band-aid fixes. The specific phrase he used was that they may fix the immediate problem but the kind of bug remains, just waiting in the hallway to hit you in another place.
That is not a criticism of AI tools specifically. That is a description of what happens when something fixes a symptom without understanding the cause. And the reason AI tends to produce that category of fix is not because the models are bad at generating code. It is because understanding the cause requires understanding the system, its history, the decisions that produced the current design, and what the code was actually trying to do when the bug was introduced.
That understanding cannot be generated from the code itself. It comes from the engineers who built the system, who have been maintaining it, who have watched it behave in production and built mental models from that experience over years.
Torvalds put it another way when he described what he looks for in a pull request. He said he wants to understand the bigger picture. He reads the explanations more than the diffs because the explanation tells him whether the person sending the change actually understood what they were doing.
The explanation is the test for understanding. The code is the result of the understanding. You can produce the result without the understanding and the result will look right until the bug waiting in the hallway comes for you.
What he said about Rust that engineers are missing
Torvalds has complicated opinions about Rust and they get flattened into takes that miss the actual point.
What he said in Mumbai is worth reading carefully. Rust fixes a few easy bugs that you can make in C, but it does not fix the logic errors. It does not think for you. When you write incorrect code, the language does not matter. The end result will be incorrect.
He added something that is important for anyone who thinks adopting Rust makes a codebase safer in any comprehensive sense. The guarantees Rust provides only apply in the Rust-only parts of your code. Wherever you interact with C code, all bets are off. And most Rust code in the Linux kernel talks to core kernel C code, which means the safety guarantees have a hard boundary exactly where the most critical interactions happen.
The high-profile bugs in the kernel recently have been logic errors. Not memory safety issues. Engineers writing incorrect code because they understood the wrong thing about what the code was supposed to do.
This is the category of error that no language, tool, or AI system currently addresses. It is the category that requires a human being to have a correct mental model of what the system is trying to accomplish and why. Without that model, the code can be syntactically correct, memory safe, and passing all tests while being fundamentally wrong in a way that will surface under conditions nobody thought to test.
Torvalds knows this from experience that almost nobody else has. He has been reviewing code for decades from engineers who are experts in their specific subsystems. He has seen the full distribution of what goes wrong and why. When he says the dangerous bugs are logic errors, that is not an opinion. It is an observation from the largest and most carefully maintained production codebase in history.
What the AI section of his talk actually means
Torvalds was careful and honest about AI in a way that the press coverage has not fully captured.
He said the field is now at the point where AI hopefully creates more productivity than it takes away. That is a modest and specific claim. Not that AI is transformative. That it is hopefully net positive.
He described the period up until early this year as one where AI was generating more junk than useful code. The bug reports in particular were a significant problem. Reports that look entirely valid, written in the kind of language a real engineer would use, describing plausible problems, that turn out to be hallucinations. The cost of figuring out that a report is machine-generated nonsense falls on human maintainers who have to do real investigative work before they can dismiss it.
He also described a pattern of closely related bugs appearing in the kernel in short succession, where different people using AI tools were all generating fixes for related problems in the same area of the code, producing a cluster of vulnerabilities that became news within weeks of each other.
The pattern makes sense once you understand what is happening. The AI is generating fixes that address the visible symptom in the specific location someone pointed at. The underlying condition that produced the bug remains in adjacent code. Multiple people using similar tools on similar problems find similar surface issues and generate similar band-aid fixes. Nobody is looking at the system level because the AI is not looking at the system level.
What he requires now from anyone submitting an AI-generated patch is a suggested fix and evidence that the human who ran the AI acted as a genuine back-and-forth, verifying and understanding the output rather than passing it directly through.
That requirement is essentially demanding that the human provide the system-level understanding that the AI cannot provide. The AI generates a candidate. The human validates it against their knowledge of the system. If you cannot do the validation, you should not be submitting the patch.
What this tells engineers about where value actually comes from
Torvalds described what he uses for his own toy projects. He pointed at his tools and said Git and email are the only two things he really uses. He looks things up on Google. Other maintainers use many more tools and many are now using AI for patch checking.
He works at a higher level. He works with people, not tools.
That is not a statement about tools being unimportant. It is a statement about what his job actually is at this stage of his career and what he has determined actually matters for the kind of work that only he can do.
What he can do that nobody else can do is not write C code faster than anyone else. It is understand the full system well enough to evaluate whether a change belongs in it. To read an explanation of a proposed change and know immediately whether the person sending it understood what they were doing. To resolve merge conflicts in his sleep because he has done it so many times that his pattern recognition operates below the level of conscious thought.
That capability is not a product of writing code. It is a product of spending decades building mental models of how systems behave and why decisions get made and what the consequences of those decisions turn out to be over time.
AI tools can write code. They cannot build those mental models because the models are not in the code. They are in the experience of living with the consequences of the code across years and across changing conditions that nobody anticipated when the code was written.
What backend engineers should take from this
The work that Torvalds describes as most important, understanding intent, reading explanations more than diffs, working with people rather than tools, evaluating whether someone understood what they were doing, is the work that scales with experience in a way that code generation does not.
The engineers who are building that capability right now, who are developing genuine system-level understanding of the codebases they work in, who are learning to read a proposed change and know whether the person who wrote it understood the system or just found a way to make the tests pass, are building something that AI tools cannot replicate and that becomes more valuable as AI handles more of the code generation layer.
Torvalds is not worried about AI replacing engineers. He is worried about AI-assisted engineers who have not done the work of actually understanding their systems. Who submit bug reports generated by tools without verifying them. Who apply band-aid fixes because the AI found a symptom without finding the cause. Who confuse producing code with understanding what the code is for.
He has been watching the Linux kernel for thirty-five years. He knows the difference between someone who understands a system and someone who has learned to produce plausible-looking outputs about it. He tests for it explicitly by reading the explanations rather than just the code.
That test does not get easier with better AI tools. It gets more important.
What would happen if someone asked you to explain in plain language, without looking at any documentation, why a critical part of your current system works the way it does and what would break if you changed the assumptions underneath it?