Whether software engineering constitutes a genuine practice in MacIntyre's sense is a consequential question, because the answer determines what is at stake when AI transforms the work. This book argues that software engineering, at its best, does qualify. It has internal goods — the elegance of well-designed architecture, the satisfaction of systems that respond precisely to their intended purpose, the beauty of code that only another practitioner can perceive. It has standards of excellence that practitioners extend and revise. It has a tradition — a historically extended argument about what good software is, what methods best serve it, and what the practice is for — that runs from the earliest programmers working in assembly through structured programming, object-oriented design, agile methodologies, and the debates of the AI-mediated era.
The objection that software engineering is too young, too commercial, or too output-focused to qualify as a practice must be addressed directly. Age is not relevant — chess became a practice before it became ancient. Commercial orientation does not disqualify — architecture has been commercial since the Parthenon, medicine since Hippocrates. Measurable outputs do not reduce a practice to technique — farming produces bushels of grain without being thereby reducible to a technique. What matters is whether the activity has internal goods and whether participation cultivates virtues. Software engineering, at its best, satisfies both conditions.
The internal goods of software engineering are of several kinds. First, the elegance of well-designed architecture — a quality that resides not in any single component but in the relationships between components, the coherence of abstractions, the way a system accommodates change without requiring its own fundamental restructuring. This elegance is not reducible to measurable criteria. It is an aesthetic and intellectual quality that only practitioners who have developed the capacity to perceive it can recognize. Second, the satisfaction of systems that respond precisely to their intended purpose — available only to the practitioner who understands both the problem and the solution at a depth that allows her to perceive the fit between them. Third, the beauty of code itself — the clarity of logic, the economy of expression, the way the code reveals the programmer's understanding rather than concealing it behind unnecessary complexity.
The tradition of software engineering is substantive and contentious. The debates between assembly programmers and high-level language advocates, between procedural and object-oriented paradigms, between waterfall and agile methodologies — these are not merely technical arguments. They are tradition-constitutive arguments about what good software is and what software engineering is for. The agile manifesto's "individuals and interactions over processes and tools" was a substantive position in an ongoing argument about the internal goods of the practice.
The Luddites described in The Orange Pill — the senior developers who resist AI because they perceive what is being lost — are practitioners defending the internal goods of their practice. Their diagnosis is often correct; their response is often mistaken. The practice of software engineering is not identical to any particular historical form of it. The transition from assembly to high-level languages did not destroy the practice; it transformed the practice by relocating the pursuit of its internal goods to a higher level of abstraction. Whether the transition to AI-assisted coding similarly preserves the practice depends on whether the conditions for pursuing internal goods at the new level are deliberately maintained.
The argument that software engineering constitutes a practice in MacIntyre's sense has been developed by several scholars, including Don Gotterbarn, Keith Miller, and more recently Pablo García-Ruiz. The contrary view — that software engineering is merely a technique or a commercial skill — is defended by some philosophers of technology who read practice more restrictively.
Internal goods present. Elegance, satisfaction of fit, beauty of code — goods recognizable only through participation.
Standards of excellence. The practice's argument about what good software is constitutes ongoing standards that practitioners extend.
Tradition of inquiry. From assembly to AI, a continuous argument about methods, purposes, and excellence.
Not identical with any form. The practice transcends specific technologies and methodologies that instantiate it at particular times.
Transformable but destructible. The practice can survive transformation — including AI — if the conditions for pursuing its internal goods are preserved.
Whether the software industry's commercial pressures have already corrupted the practice beyond what MacIntyre's framework can accommodate, or whether the practice survives at the margins among practitioners who preserve its traditions despite institutional pressure. The answer determines whether AI is a further corruption or a potential renewal of the practice.