In a conversation with Jeremy Howard, renowned software architect Chris Lattner (creator of LLVM, Swift, and Mojo) discusses the growing tension between the rise of AI-driven coding and the timeless principles of software craftsmanship. They express shared concerns that the current trend of "vibe-coding" and prioritizing code generation volume over quality is leading to a decline in deep understanding, mastery, and the ability to build robust, long-lasting systems.
Lattner argues that foundational principles like first-principles design, long-term architectural thinking, and "dogfooding" (using your own product) are more critical than ever. He cautions against using AI as a crutch, which can retard a developer's growth and introduce subtle, complex bugs into a codebase. Instead, he advocates for using AI as a powerful tool to enhance craftsmanship—a collaborator for learning, exploring codebases, and automating tedious tasks within a tight feedback loop. The dialogue concludes that a bifurcation of skills is likely, where developers who leverage AI to accelerate their learning and mastery will far outpace those who use it to outsource their thinking.
Chris Lattner on Craftsmanship in the Age of AI
A Crisis of Competence: Jeremy Howard opens by expressing concern that the AI agent revolution is encouraging developers to abandon the practices of craftsmanship and deep understanding. He interviews Chris Lattner, creator of foundational software like LLVM and Swift, as an expert in building systems designed to last for decades.
Design from First Principles: Lattner emphasizes that his most successful projects (LLVM, Clang, Swift) were built by focusing on fundamental, scalable architecture. This allowed them to be adapted for uses never originally imagined, like the Rust language or database optimizers.
Craftsmanship & Long-Term Vision: Lasting software requires more than just code; it requires a team that understands the architecture and cares deeply about their work. Lattner points to the Linux kernel as an example of a project whose longevity is made possible by consistent architectural focus, which benefits both the product and the individual engineers' career growth towards mastery.
The Importance of "Dogfooding": Lattner highlights the critical need to use your own product. He contrasts the early issues with Swift, which was built in an Apple secrecy vacuum, with his current project Mojo, where the development team is the first and primary user. This hands-on experience is something that can be lost when delegating work to AI.
AI Threatens Craftsmanship: Lattner's central concern is that over-reliance on AI encourages developers to focus on making symptoms disappear rather than understanding the root cause. This leads to superficial fixes that can introduce more complex bugs and technical debt.
"Vibe-Coding" is a Career Killer: He warns that simply prompting an AI to generate code without understanding it ("vibe-coding") prevents developers from learning, growing, and achieving mastery. It can retard career development and leave programmers vulnerable when industry hype cycles settle.
Metrics Can Be Misleading: Lattner dismisses "lines of code written by AI" as a useless metric. He argues that well-factored, concise code is an asset, while verbose, AI-generated code is often a liability. The true measure of productivity is making the product better.
Using AI as a Tool, Not a Crutch: Lattner advocates for using AI to enhance craftsmanship. He finds it valuable for learning new codebases, automating boilerplate, and looking up APIs, as long as the developer still strives to understand why the code works.
The Need for Tight Feedback Loops: To use AI effectively, developers need a live, interactive environment (like a REPL or notebook) where they can see the immediate results of code changes. This maintains a close connection to the craft and allows for a true collaborative dialogue between the human, the AI, and the computer.
A Coming Bifurcation of Skills: Both Howard and Lattner predict a split in the developer community. Those who use AI as a crutch will experience "learned helplessness" and fall behind. In contrast, those who use AI to learn faster and deepen their understanding will achieve a new level of mastery and become indispensable.