{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/mitchellh-com/2025-03-04-as-code/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "I've always personally defined the \"as code\" suffix in \"X as Code\" to mean \"a system of principles or rules\"[1](https://mitchellh.com/writing/as-code#user-content-fn-1). This is in contrast to the popular interpretation of \"as code\" to mean \"as programming.\"\n\nI feel the need to write this short blog post and clarify my intent because I'm often personally a target of this misunderstanding due to my history of starting [Terraform](https://www.terraform.io)[2](https://mitchellh.com/writing/as-code#user-content-fn-2) which is a flagship \"X as Code\" tool.\n\nMy intent with \"X as Code\"[3](https://mitchellh.com/writing/as-code#user-content-fn-3) was always to get knowledge out of people's heads and into a more inscribed system. Once inscribed, knowledge and process can be shared, versioned, iterated upon, etc.\n\nThe relation to programming is that codified knowledge tends to also be computer-readable and comes with the full benefits of that (e.g. automation, validation, etc). However, I don't believe that implies that all the requirements of modern programming should be applied to \"as code\" systems.\n\nAs an additional point of history, I coauthored the [Tao of HashiCorp](https://www.hashicorp.com/en/tao-of-hashicorp) over a decade ago (before Terraform!) and this mindset is still present in the two \"codification\" sections, which remain mostly unchanged since their original writing. This helps provide additional framing for my intent with \"as code.\"\n\nPlease do not take this post as a criticism of the \"as programming\" ideals, a claim that \"as code\" is perfect, or that \"as code\" should always be interpreted this way [4](https://mitchellh.com/writing/as-code#user-content-fn-4). None of these are true. I only want to clarify my personal intent and use of the term historically.\n\n## Footnotes\n\n1. [https://www.merriam-webster.com/dictionary/code](https://www.merriam-webster.com/dictionary/code) [↩](https://mitchellh.com/writing/as-code#user-content-fnref-1)\n\n2. I haven't worked on Terraform in years and I left HashiCorp in 2023. I also only claim credit for *starting* Terraform (and I wasn't alone); it has been maintained by others for many, many years now. [↩](https://mitchellh.com/writing/as-code#user-content-fnref-2)\n\n3. I did not coin the term \"X as Code\" or \"Infrastructure as Code.\" I don't know who did but it predates Terraform and my career. Some unsolicited business advice: don't create new market categories, enter existing ones and let your competitors bear the cost of educating the market. [↩](https://mitchellh.com/writing/as-code#user-content-fnref-3)\n\n4. The definitions of things is a social process, after all. Where the herd goes, so will we all. [↩](https://mitchellh.com/writing/as-code#user-content-fnref-4)\n",
  "authors": [],
  "captured_at": "2026-09-08T10:44:40.429509+00:00",
  "category": "programming",
  "content_html": "<p>I've always personally defined the &quot;as code&quot; suffix in &quot;X as Code&quot; to mean &quot;a system of principles or rules&quot;<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fn-1\">1</a>. This is in contrast to the popular interpretation of &quot;as code&quot; to mean &quot;as programming.&quot;</p>\n<p>I feel the need to write this short blog post and clarify my intent because I'm often personally a target of this misunderstanding due to my history of starting <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.terraform.io\">Terraform</a><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fn-2\">2</a> which is a flagship &quot;X as Code&quot; tool.</p>\n<p>My intent with &quot;X as Code&quot;<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fn-3\">3</a> was always to get knowledge out of people's heads and into a more inscribed system. Once inscribed, knowledge and process can be shared, versioned, iterated upon, etc.</p>\n<p>The relation to programming is that codified knowledge tends to also be computer-readable and comes with the full benefits of that (e.g. automation, validation, etc). However, I don't believe that implies that all the requirements of modern programming should be applied to &quot;as code&quot; systems.</p>\n<p>As an additional point of history, I coauthored the <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.hashicorp.com/en/tao-of-hashicorp\">Tao of HashiCorp</a> over a decade ago (before Terraform!) and this mindset is still present in the two &quot;codification&quot; sections, which remain mostly unchanged since their original writing. This helps provide additional framing for my intent with &quot;as code.&quot;</p>\n<p>Please do not take this post as a criticism of the &quot;as programming&quot; ideals, a claim that &quot;as code&quot; is perfect, or that &quot;as code&quot; should always be interpreted this way <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fn-4\">4</a>. None of these are true. I only want to clarify my personal intent and use of the term historically.</p>\n<h2>Footnotes</h2>\n<ol>\n<li>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.merriam-webster.com/dictionary/code\">https://www.merriam-webster.com/dictionary/code</a> <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fnref-1\">↩</a></p>\n</li>\n<li>\n<p>I haven't worked on Terraform in years and I left HashiCorp in 2023. I also only claim credit for <em>starting</em> Terraform (and I wasn't alone); it has been maintained by others for many, many years now. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fnref-2\">↩</a></p>\n</li>\n<li>\n<p>I did not coin the term &quot;X as Code&quot; or &quot;Infrastructure as Code.&quot; I don't know who did but it predates Terraform and my career. Some unsolicited business advice: don't create new market categories, enter existing ones and let your competitors bear the cost of educating the market. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fnref-3\">↩</a></p>\n</li>\n<li>\n<p>The definitions of things is a social process, after all. Where the herd goes, so will we all. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://mitchellh.com/writing/as-code#user-content-fnref-4\">↩</a></p>\n</li>\n</ol>\n",
  "content_markdown": "I've always personally defined the \"as code\" suffix in \"X as Code\" to mean \"a system of principles or rules\"[1](https://mitchellh.com/writing/as-code#user-content-fn-1). This is in contrast to the popular interpretation of \"as code\" to mean \"as programming.\"\n\nI feel the need to write this short blog post and clarify my intent because I'm often personally a target of this misunderstanding due to my history of starting [Terraform](https://www.terraform.io)[2](https://mitchellh.com/writing/as-code#user-content-fn-2) which is a flagship \"X as Code\" tool.\n\nMy intent with \"X as Code\"[3](https://mitchellh.com/writing/as-code#user-content-fn-3) was always to get knowledge out of people's heads and into a more inscribed system. Once inscribed, knowledge and process can be shared, versioned, iterated upon, etc.\n\nThe relation to programming is that codified knowledge tends to also be computer-readable and comes with the full benefits of that (e.g. automation, validation, etc). However, I don't believe that implies that all the requirements of modern programming should be applied to \"as code\" systems.\n\nAs an additional point of history, I coauthored the [Tao of HashiCorp](https://www.hashicorp.com/en/tao-of-hashicorp) over a decade ago (before Terraform!) and this mindset is still present in the two \"codification\" sections, which remain mostly unchanged since their original writing. This helps provide additional framing for my intent with \"as code.\"\n\nPlease do not take this post as a criticism of the \"as programming\" ideals, a claim that \"as code\" is perfect, or that \"as code\" should always be interpreted this way [4](https://mitchellh.com/writing/as-code#user-content-fn-4). None of these are true. I only want to clarify my personal intent and use of the term historically.\n\n## Footnotes\n\n1. [https://www.merriam-webster.com/dictionary/code](https://www.merriam-webster.com/dictionary/code) [↩](https://mitchellh.com/writing/as-code#user-content-fnref-1)\n\n2. I haven't worked on Terraform in years and I left HashiCorp in 2023. I also only claim credit for *starting* Terraform (and I wasn't alone); it has been maintained by others for many, many years now. [↩](https://mitchellh.com/writing/as-code#user-content-fnref-2)\n\n3. I did not coin the term \"X as Code\" or \"Infrastructure as Code.\" I don't know who did but it predates Terraform and my career. Some unsolicited business advice: don't create new market categories, enter existing ones and let your competitors bear the cost of educating the market. [↩](https://mitchellh.com/writing/as-code#user-content-fnref-3)\n\n4. The definitions of things is a social process, after all. Where the herd goes, so will we all. [↩](https://mitchellh.com/writing/as-code#user-content-fnref-4)\n",
  "dateCreated": "2026-09-08T10:44:40.429509+00:00",
  "date_created": "2025-03-04T00:00:00+00:00",
  "date_modified": "2025-03-04T00:00:00+00:00",
  "date_published": "2025-03-04T00:00:00+00:00",
  "description": "I've always personally defined the \"as code\" suffix in \"X as Code\" to mean \"a system of principles or rules\"1. This is in contrast to the popular interpretation of \"as code\" to mean \"as programming.\" I feel the need to write this short…",
  "external_url": "https://mitchellh.com/writing/as-code",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/mitchellh-com/2025/03/2025-03-04-as-code.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/mitchellh-com/2025/03/2025-03-04-as-code.md"
  },
  "id": "urn:aggr:item:406f65adbdc8010512ff2676b4c2b826f88fedc8",
  "isBasedOn": {
    "@id": "https://mitchellh.com/writing/as-code"
  },
  "mainEntity": {
    "@id": "https://mitchellh.com/writing/as-code",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/mitchellh-com/2025-03-04-as-code/#webpage"
    },
    "dateModified": "2025-03-04T00:00:00+00:00",
    "datePublished": "2025-03-04T00:00:00+00:00",
    "headline": "\"As Code\"",
    "timeRequired": "PT2M",
    "url": "https://mitchellh.com/writing/as-code",
    "wordCount": 361
  },
  "name": "Archived snapshot: \"As Code\"",
  "preview": null,
  "reading_minutes": 2,
  "replicated_at": null,
  "source": "mitchellh-com",
  "source_name": "Mitchell Hashimoto",
  "summary": null,
  "tags": [],
  "temporalCoverage": "2026-09-08T10:44:40.429509+00:00",
  "title": "\"As Code\"",
  "url": "https://aggr.aymericbeaumet.com/items/mitchellh-com/2025-03-04-as-code/",
  "word_count": 361
}