{
    "archive_path": "archive/1780178795.305231",
    "base_url": "www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat",
    "basename": "",
    "bookmarked_date": "2026-05-30 22:06",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=www.brethorsting.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": null
    },
    "domain": "www.brethorsting.com",
    "downloaded_at": "2026-05-30T22:06:41.363051+00:00",
    "downloaded_datestr": "2026-05-30 22:06",
    "extension": "",
    "hash": "BF344KF5ART3AWDBMWXX",
    "history": {
        "archive_org": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://web.archive.org/save/https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-05-30T22:08:28.185231+00:00",
                "index_texts": null,
                "output": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/']' timed out after 60 seconds",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:07:28.142888+00:00",
                "status": "failed"
            }
        ],
        "dom": [
            {
                "cmd": [
                    "/usr/bin/chromium-browser",
                    "--proxy-server=socks5://tor-socks-proxy:9150",
                    "--disable-features=DarkMode",
                    "--run-all-compositor-stages-before-draw",
                    "--hide-scrollbars",
                    "--autoplay-policy=no-user-gesture-required",
                    "--no-first-run",
                    "--use-fake-ui-for-media-stream",
                    "--use-fake-device-for-media-stream",
                    "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'",
                    "--headless=new",
                    "--no-sandbox",
                    "--no-zygote",
                    "--disable-dev-shm-usage",
                    "--disable-software-rasterizer",
                    "--disable-sync",
                    "--window-size=1440,2000",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "--user-data-dir=/data/personas/Default/chrome_profile",
                    "--profile-directory=Default",
                    "--dump-dom",
                    "https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
                ],
                "cmd_version": "131.0.6778",
                "end_ts": "2026-05-30T22:07:02.412494+00:00",
                "index_texts": null,
                "output": "output.html",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:06:53.191877+00:00",
                "status": "succeeded"
            }
        ],
        "favicon": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.google.com/s2/favicons?domain=www.brethorsting.com"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-05-30T22:06:44.321381+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:06:41.670740+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-05-30T22:06:44.421959+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:06:44.361340+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.8.5rc51",
                "end_ts": "2026-05-30T22:07:21.086883+00:00",
                "index_texts": [
                    "Domain Expertise Has Always Been the Real Moat | Aaron Brethorst (https://www.brethorsting.com/feed.xml) (Aaron Brethorst) (/_bridgetown/static/index.PUIZ6NER.css)  (/) Brethorsting  (/) Home (/blog) Blog (/categories) Categories (/archive) Archive Links    (https://aaronbrethorstphotography.com/) () My Photography  (https://www.threads.net/@aaronbrethorst) () Threads  (https://www.instagram.com/aaronbrethorst) () Instagram  (https://github.com/aaronbrethorst) () GitHub  (https://www.linkedin.com/in/aaronbrethorst/) () LinkedIn  (mailto:aaron@brethorsting.com) () Email Me       (/feed.xml) (RSS Feed) (RSS Feed)         Menu     (/) Home (/blog) Blog (/categories) Categories (/archive) Archive (/feed.xml) RSS Feed Links (https://aaronbrethorstphotography.com/) () My Photography  (https://www.threads.net/@aaronbrethorst) () Threads  (https://www.instagram.com/aaronbrethorst) () Instagram  (https://github.com/aaronbrethorst) () GitHub  (https://www.linkedin.com/in/aaronbrethorst/) () LinkedIn  (mailto:aaron@brethorsting.com) () Email Me      May 30, 2026 (/categories/software-engineering/) Software Engineering  (/categories/ai/) 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\u2019s 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\u2019t the same thing, and how a bus that\u2019s \u201con time\u201d can still be wrong. The code was a transcription of that understanding. Acquiring the understanding was the job. Agentic AI severed the link between the two. You can now produce the software without ever building the model, and that breaks an assumption the whole profession was organized around. The standard take, including (/blog/2025/07/agentic-coding-tools-not-skynet%2C-not-a-stochastic-parrot/) my own from last year , is that these tools amplify senior developers because senior developers have judgment. True, but incomplete. What I\u2019ve watched happen since is more specific and more interesting: the binding constraint has moved from can you build it to can you tell whether it\u2019s right . Think about who can actually use one of these tools well. Picture two people. The first is a domain expert with no real software background. A logistics dispatcher, a clinical coder, an actuary. They can\u2019t read a stack trace and they couldn\u2019t tell you the difference between a hash map and a list. But they can look at a schedule the agent generated and know instantly that no driver can legally work that shift, or that a claim with those codes would never pay. They know the correct outputs for a given set of inputs because they\u2019ve spent ten years living in those inputs and outputs. Hand them an agent and they are startlingly effective, because the thing they\u2019re missing, the ability to produce code, is exactly the thing the agent supplies. What they bring is the thing the agent can\u2019t: the ground truth. The second is a strong generalist engineer who has never worked in the domain. They can architect anything, they know reliability and testing and how to keep a system from falling over at 2am. But drop them into clinical coding and they cannot tell a plausible-looking wrong answer from a right one. The agent will happily generate a billing rule that compiles, passes the tests the engineer thought to write, and is subtly, expensively incorrect. The engineer has no oracle. They can verify that the software is well-built. They cannot verify that it\u2019s correct , because correctness here is defined entirely by a domain they don\u2019t hold in their head. Notice which way this cuts. Pre-agent, the engineer had a path the dispatcher didn\u2019t: they could go learn the domain. Slowly, painfully, by shadowing experts and reading specs and getting things wrong in production, they would build the mental model and then they could build the system. That path was the whole career ladder in a lot of fields. The domain expert had no equivalent path, because learning to build reliable software is years of work they were never going to do. Agentic tools collapsed one of those paths and not the other. The engineer\u2019s advantage, the ability to translate a domain model into working code, is now cheap. The domain expert\u2019s advantage, knowing what right looks like, is not. You can\u2019t prompt your way to it. There\u2019s no skill file that contains the tacit knowledge of a person who has reconciled a thousand payrolls. So the most valuable person in this new world is the one who has both skills because they can verify at both layers. They know the generated code is sound and they know the answers it produces are true. They can write the test that encodes \u201ca driver can\u2019t exceed eleven hours\u201d because they know the rule, and they can tell that the test itself is meaningful because they know what they\u2019re testing. The agent does the transcription. They do the judging, twice. If you\u2019re an experienced engineer betting on where to spend the next few years, this is the bet. The mechanical skill you sweated for, turning a clear idea into clean code, has gotten dramatically less valuable. The thing that\u2019s still scarce is a deep, verified model of some real domain. Go get one. Pick an industry, an instrument, a regulatory regime, a physical process, and learn it the way you once learned a programming language or framework. That\u2019s the part the agent can\u2019t do for you, and it\u2019s the part that\u2019s now worth the most.   \u00a9 Aaron Brethorst      "
                ],
                "output": "htmltotext.txt",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:07:21.068422+00:00",
                "status": "succeeded"
            }
        ],
        "media": [
            {
                "cmd": [
                    "/usr/local/bin/yt-dlp",
                    "--restrict-filenames",
                    "--trim-filenames",
                    "128",
                    "--write-description",
                    "--write-info-json",
                    "--write-annotations",
                    "--write-thumbnail",
                    "--no-call-home",
                    "--write-sub",
                    "--write-auto-subs",
                    "--convert-subs=srt",
                    "--yes-playlist",
                    "--continue",
                    "--no-abort-on-error",
                    "--ignore-errors",
                    "--geo-bypass",
                    "--add-metadata",
                    "--format=(bv*+ba/b)[filesize<=750m][filesize_approx<=?750m]/(bv*+ba/b)",
                    "--skip-download",
                    "--cache-dir=/data/yt-dlp-cache/",
                    "--cookies=/data/yt-dlp-cache/cookies.txt",
                    "--proxy=socks5://tor-socks-proxy:9150",
                    "--no-playlist",
                    "https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
                ],
                "cmd_version": "2024.10.7",
                "end_ts": "2026-05-30T22:07:28.106555+00:00",
                "index_texts": [],
                "output": "media/",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:07:23.237936+00:00",
                "status": "succeeded"
            }
        ],
        "mercury": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/postlight-parser",
                    "https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
                ],
                "cmd_version": "2.2.3",
                "end_ts": "2026-05-30T22:07:21.014492+00:00",
                "index_texts": null,
                "output": "mercury/",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:07:18.624940+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/readability-extractor",
                    "/tmp/tmpjrr7fzus",
                    "https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-05-30T22:07:06.515921+00:00",
                "index_texts": [
                    "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\u2019s 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\u2019t the same thing, and how a bus that\u2019s \u201con time\u201d can still be wrong. The code was a transcription of that understanding. Acquiring the understanding was the job.\n\nAgentic AI severed the link between the two. You can now produce the software without ever building the model, and that breaks an assumption the whole profession was organized around.\n\nThe standard take, including my own from last year, is that these tools amplify senior developers because senior developers have judgment. True, but incomplete. What I\u2019ve watched happen since is more specific and more interesting: the binding constraint has moved from can you build it to can you tell whether it\u2019s right.\n\nThink about who can actually use one of these tools well. Picture two people.\n\nThe first is a domain expert with no real software background. A logistics dispatcher, a clinical coder, an actuary. They can\u2019t read a stack trace and they couldn\u2019t tell you the difference between a hash map and a list. But they can look at a schedule the agent generated and know instantly that no driver can legally work that shift, or that a claim with those codes would never pay. They know the correct outputs for a given set of inputs because they\u2019ve spent ten years living in those inputs and outputs. Hand them an agent and they are startlingly effective, because the thing they\u2019re missing, the ability to produce code, is exactly the thing the agent supplies. What they bring is the thing the agent can\u2019t: the ground truth.\n\nThe second is a strong generalist engineer who has never worked in the domain. They can architect anything, they know reliability and testing and how to keep a system from falling over at 2am. But drop them into clinical coding and they cannot tell a plausible-looking wrong answer from a right one. The agent will happily generate a billing rule that compiles, passes the tests the engineer thought to write, and is subtly, expensively incorrect. The engineer has no oracle. They can verify that the software is well-built. They cannot verify that it\u2019s correct, because correctness here is defined entirely by a domain they don\u2019t hold in their head.\n\nNotice which way this cuts. Pre-agent, the engineer had a path the dispatcher didn\u2019t: they could go learn the domain. Slowly, painfully, by shadowing experts and reading specs and getting things wrong in production, they would build the mental model and then they could build the system. That path was the whole career ladder in a lot of fields. The domain expert had no equivalent path, because learning to build reliable software is years of work they were never going to do.\n\nAgentic tools collapsed one of those paths and not the other. The engineer\u2019s advantage, the ability to translate a domain model into working code, is now cheap. The domain expert\u2019s advantage, knowing what right looks like, is not. You can\u2019t prompt your way to it. There\u2019s no skill file that contains the tacit knowledge of a person who has reconciled a thousand payrolls.\n\nSo the most valuable person in this new world is the one who has both skills because they can verify at both layers. They know the generated code is sound and they know the answers it produces are true. They can write the test that encodes \u201ca driver can\u2019t exceed eleven hours\u201d because they know the rule, and they can tell that the test itself is meaningful because they know what they\u2019re testing. The agent does the transcription. They do the judging, twice.\n\nIf you\u2019re an experienced engineer betting on where to spend the next few years, this is the bet. The mechanical skill you sweated for, turning a clear idea into clean code, has gotten dramatically less valuable. The thing that\u2019s still scarce is a deep, verified model of some real domain. Go get one. Pick an industry, an instrument, a regulatory regime, a physical process, and learn it the way you once learned a programming language or framework. That\u2019s the part the agent can\u2019t do for you, and it\u2019s the part that\u2019s now worth the most."
                ],
                "output": "readability/",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:07:03.213258+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-05-30T22:07:02.466371+00:00",
                "index_texts": null,
                "output": "Domain Expertise Has Always Been the Real Moat | Aaron Brethorst",
                "pwd": "/data/archive/1780178795.305231",
                "schema": "ArchiveResult",
                "start_ts": "2026-05-30T22:07:02.456314+00:00",
                "status": "succeeded"
            }
        ],
        "wget": []
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/']' timed out after 60 seconds",
        "dom": "output.html",
        "favicon": "favicon.ico",
        "git": null,
        "media": "media/",
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Domain Expertise Has Always Been the Real Moat | Aaron Brethorst",
        "warc": null,
        "wget": null
    },
    "link_dir": "/data/archive/1780178795.305231",
    "newest_archive_date": "2026-05-30T22:07:28.142888+00:00",
    "num_failures": 1,
    "num_outputs": 8,
    "oldest_archive_date": "2026-05-30T22:06:41.670740+00:00",
    "path": "/blog/2026/05/domain-expertise-has-always-been-the-real-moat/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_abid": "snp_01KSXESEX9DC48D2EF01J1H1QH",
    "snapshot_id": "dbf35fea-59ad-438f-a0be-f74f241886f1",
    "sources": [
        "/data/sources/1780178794-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1780178795.305231",
    "title": "Domain Expertise Has Always Been the Real Moat | Aaron Brethorst",
    "url": "https://www.brethorsting.com/blog/2026/05/domain-expertise-has-always-been-the-real-moat/"
}