Domain expertise has always been the real moat
Recorded: May 30, 2026, 10:02 p.m.
| Original | Summarized |
Domain Expertise Has Always Been the Real Moat | Aaron Brethorst Brethorsting Home Links My Photography Threads Instagram GitHub LinkedIn Email Me Menu Home Links My Photography Threads Instagram GitHub LinkedIn Email Me May 30, 2026 AI Domain Expertise Has Always Been the Real Moat The hard part of writing software has never been the writing. It was building a working model of the domain in your head first. Before you could ship a payroll system you had to understand garnishments and pre-tax deductions and what happens when someone’s pay period straddles a rate change. Before you could ship a transit app you had to learn what a GTFS feed is, why a trip and a route aren’t the same thing, and how a bus that’s “on time” can still be wrong. The code was a transcription of that understanding. Acquiring the understanding was the job. © Aaron Brethorst |
The process of writing software has historically been less about the mechanics of coding and more about establishing a foundational understanding of the underlying domain. Before actual coding could begin, one had to build a mental model of the domain; for instance, one needed to understand the complexities of garnishments and pre-tax deductions before building a payroll system, or grasp concepts like the structure of a GTFS feed and the nuances of scheduling before developing a transit application. The code itself was merely a transcription of this pre-existing understanding, implying that the acquisition of domain knowledge was the primary professional hurdle. The advent of agentic artificial intelligence has fundamentally altered this dynamic by severing the direct link between developing domain understanding and producing functional software, thereby challenging established professional assumptions. While some views suggest that these tools primarily amplify senior developers due to their inherent judgment, the more precise observation is that the binding constraint has shifted from the ability to build something to the ability to verify its correctness. This shift highlights a crucial differentiation between two types of professionals. The first group consists of domain experts, such as logistics dispatchers, clinical coders, or actuaries, who possess deep, practical knowledge of a field. These experts do not necessarily have a background in software engineering, yet they possess the necessary "ground truth." They can instantly recognize whether an agent-generated schedule is legally viable or if a claim code is accurate, because they have internalized the necessary inputs and outputs through years of real-world experience. When provided with an agent, these experts are highly effective because they supply the domain context—the knowledge the agent lacks—which allows the system to produce meaningful results. The second group comprises strong generalist engineers who excel at system architecture, reliability, and testing. However, when placed in a specialized domain, these engineers lack the necessary specialized knowledge required to assess the true correctness of the output. An agent can generate code that is syntactically correct and passes predefined tests, but if the domain context is absent, the resulting software may be technically sound yet fundamentally incorrect or, more dangerously, expensively flawed. The generalist engineer cannot verify the true correctness of the answers because the definition of correctness is embedded within the specific domain knowledge that they do not possess. Historically, the professional trajectory involved a path where engineers could acquire domain expertise by shadowing experts, reading specifications, and iteratively making errors in a production setting to build a mental model before coding the solution. This path was unavailable to domain experts, as learning the rigorous process of building reliable software was an extensive, time-consuming endeavor for them. Agentic tools have collapsed this historical divergence by making the mechanical skill of translating a domain model into working code significantly less valued. Consequently, the most valuable asset in this evolving environment is the individual who possesses both skill sets: the ability to verify the code’s technical soundness and the ability to verify the results’ factual accuracy. This dual capability allows the professional to act as a crucial layer of verification. The agent handles the transcription and mechanical execution, while the human provides the necessary judgment, double-checking that the generated outputs align with established domain truths. For an experienced engineer planning their career, this necessitates a strategic pivot. The mechanical capability of translating an idea into clean code has diminished in relative importance. The scarcity now lies in developing a deep, verified model of a specific domain. This involves choosing an industry, a regulatory framework, or a complex physical process, and dedicating oneself to learning it in the same rigorous manner once applied to mastering programming languages or frameworks. This domain expertise is precisely the element that agents cannot replicate, making it the most valuable skill in the modern landscape. |