Casey Muratori avoids using AI programming tools because he values the hands-on, precise, and enjoyable experience of coding directly, viewing programming as a craft rather than just a means to an end. While he acknowledges AI’s usefulness and respects it as a tool, he prefers to maintain full control over his code and is cautious about the potential risks and indirectness associated with AI-generated programming.
Casey Muratori explains that his avoidance of AI programming tools stems primarily from his personal approach and passion for programming rather than technical or economic concerns. While he acknowledges that AI programming has become more useful recently and can be a helpful tool for many programmers, he remains cautious about its premature adoption. He worries that users might not fully understand the implications of AI-generated code, particularly regarding security, performance, and reliability. However, he clarifies that these concerns are similar to those he has about inexperienced human programmers attempting complex tasks, such as writing cryptography libraries.
From a technical standpoint, Casey does not see AI programming as inherently problematic if users are capable of critically assessing the quality and usefulness of the AI-generated code. He believes that if programmers can rationally evaluate whether AI improves their productivity and code quality, then using AI tools is acceptable. He separates these technical considerations from legal and ethical issues, which he acknowledges as separate debates. Ultimately, he respects AI as a tool but emphasizes the importance of understanding its limitations and impacts.
The core reason Casey personally avoids AI programming is tied to his intrinsic love for the act of programming itself. Unlike many programmers who approach coding primarily as a means to an end—such as delivering a product or meeting business goals—Casey programs because he enjoys the process. He shares that programming started as a hobby for him, and he finds satisfaction in the hands-on experience of writing and controlling code directly. For example, he recently spent time programming in assembly language purely out of curiosity and enjoyment, despite it not being the most practical or efficient choice.
Casey contrasts his approach with the more business-oriented mindset common among many programmers, where the focus is on achieving results efficiently, regardless of the method. For those programmers, AI tools that can produce code quickly and effectively are valuable assets. However, for Casey, the indirectness of AI programming—where instructions are given in natural language and the programmer has less direct control over the code—runs counter to his desire for a deep, tactile connection with the programming process. He finds AI programming imprecise and difficult to control compared to traditional coding.
In summary, Casey Muratori’s avoidance of AI programming is a personal preference rooted in his passion for the craft of programming and his desire for direct engagement with code. He respects AI as a tool for others but finds it incompatible with his approach, which values precision, control, and the experiential joy of programming. His stance is not based on economic or technical objections but on what he enjoys and values in the programming experience.