<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael Wirth</title>
    <description>The latest articles on DEV Community by Michael Wirth (@mikewirth).</description>
    <link>https://dev.to/mikewirth</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3782434%2Ff7028074-353a-4ac8-8db0-56ec5c6d5715.jpeg</url>
      <title>DEV Community: Michael Wirth</title>
      <link>https://dev.to/mikewirth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikewirth"/>
    <language>en</language>
    <item>
      <title>Software in a Spec-First World</title>
      <dc:creator>Michael Wirth</dc:creator>
      <pubDate>Fri, 20 Feb 2026 10:46:32 +0000</pubDate>
      <link>https://dev.to/mikewirth/software-in-a-spec-first-world-5col</link>
      <guid>https://dev.to/mikewirth/software-in-a-spec-first-world-5col</guid>
      <description>&lt;p&gt;Reading one of Andrej Karpathy’s &lt;a href="https://x.com/karpathy/status/2015883857489522876" rel="noopener noreferrer"&gt;recent articles&lt;/a&gt; made me think a lot about the future of software and software engineering.&lt;/p&gt;

&lt;p&gt;The obvious part is that we’ll “code in English” more and more. The less obvious part is what replaces code as the main &lt;em&gt;thing we build, share, and sell&lt;/em&gt;. My bet: &lt;strong&gt;specs&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Specs become the product
&lt;/h2&gt;

&lt;p&gt;For anything non-trivial, the hard part stays the same: &lt;em&gt;what should this software do, exactly?&lt;/em&gt; That’s domain knowledge, tradeoffs, edge cases, definitions, and &lt;strong&gt;taste&lt;/strong&gt;: an intuition for what “good” software should &lt;em&gt;feel like&lt;/em&gt;. A lot of what designers and great engineers contribute lives there.&lt;/p&gt;

&lt;p&gt;This is why the near future isn’t “everyone asks super-Siri for a serious business app and instantly gets it.” For real systems, you still need iterative clarification, disagreement, and decision-making. &lt;strong&gt;Agents compress the build, not the thinking.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The big change is &lt;em&gt;who gets to participate&lt;/em&gt;: dedicated domain experts (not just engineers) can be directly involved in shaping software, because the bottleneck shifts from typing code to expressing intent precisely.&lt;/p&gt;

&lt;h2&gt;
  
  
  From “Open Source” to “Open Spec”
&lt;/h2&gt;

&lt;p&gt;I expect a shift from “GitHub repo = code” to “GitHub repo = spec + tests”.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Projects publish &lt;strong&gt;specs, constraints, and test suites&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The “code” becomes closer to today’s &lt;strong&gt;build artifacts&lt;/strong&gt;: generated, regenerated, swapped out.&lt;/li&gt;
&lt;li&gt;Tooling grows around spec-writing to make it less like prose and more like engineering. Think structured requirements, invariants, property tests, traceability, simulation. &lt;strong&gt;SpecKit&lt;/strong&gt; feels like an early hint of the direction. We’re still at the very start.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And specs likely won’t be one monolithic “plan doc”. More like &lt;strong&gt;many small, nested files&lt;/strong&gt; - code-like structure, but written for humans and agents.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you’re thinking about starting a company, my bet is that 2026 will be a great year to work on this problem.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Specs get composable (even more than code)
&lt;/h2&gt;

&lt;p&gt;If the runtime is an agent and the interface is “English + tests + constraints”, then &lt;em&gt;implementation language stops mattering&lt;/em&gt;. Specs become inherently more portable and combinable than today’s codebases.&lt;/p&gt;

&lt;p&gt;You can imagine “spec dependencies” the way we currently have package dependencies - except the boundaries are defined by behavior and tests, not by APIs and language ecosystems.&lt;/p&gt;

&lt;h2&gt;
  
  
  A market for specs
&lt;/h2&gt;

&lt;p&gt;If specs are the durable asset, you’ll start being able to &lt;strong&gt;buy specs&lt;/strong&gt; instead of finished software.&lt;/p&gt;

&lt;p&gt;First among engineers: “Buy this spec bundle, customize it, generate your own implementation.”&lt;/p&gt;

&lt;p&gt;Later for businesses: “Buy the spec for this workflow/system so you can adapt it to your org.”&lt;/p&gt;

&lt;p&gt;That means specs will also be worth protecting. Cue spec obfuscation, watermarking, and DRM.&lt;/p&gt;

&lt;h2&gt;
  
  
  The agent as runtime
&lt;/h2&gt;

&lt;p&gt;For a while, generated code will still exist because regenerating everything on every run will be too slow/expensive. Eventually the execution engine could just be the agent, &lt;strong&gt;directly following the spec to perform tasks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Feels like we’re heading from “programming as code” to “programming as intent + verification”. Code doesn’t disappear, but it stops being the center of gravity.&lt;/p&gt;

&lt;h2&gt;
  
  
  An F1 car for the mind
&lt;/h2&gt;

&lt;p&gt;If your goal is to solve people’s problems, in my opinion that will stay economically valuable for a long time. If your joy is crafting beautiful code by hand, that will become relegated to a hobby.&lt;/p&gt;

&lt;p&gt;Personally: I don’t miss writing code. Working on &lt;a href="https://lumenfall.ai" rel="noopener noreferrer"&gt;Lumenfall&lt;/a&gt;, I’m more productive than ever, and having more fun. For the first time, it feels like &lt;strong&gt;the tooling isn’t in my way, but actually making me faster&lt;/strong&gt; - a true bicycle for the mind, except it now feels more like an F1 car or rather a rocketship.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>chatgpt</category>
      <category>coding</category>
    </item>
  </channel>
</rss>
