WTF is Code: The Commoditization of Software in the AI Era
contents

Hello world! It’s been a minute. I’ve been busy with a new job — my mind hasn’t had time to wonder from the immediate tasks at hand. A conversation about code generation and its role in modern software development prompted the following line of thinking.
Is Software Engineering “Real” Engineering?
There’s something interesting happening in the world of code. Software’s value has always perpetuated itself through feedback loops that are endlessly fun to explore. Code is a blueprint for systems, a designed product that people can experience, and now (more than ever) a commodity.
In traditional engineering disciplines there’s always some kind of labor associated in the execution of an engineer’s work product. A civil engineer designs a building, bridge, or some such thing — stamps the final product, then contracts out labor to execute on that plan. A chemical engineer designs a process for refining chemicals or manufacturing semiconductors and technicians are employed to run and maintain that process. The latter characters always seem to be in conflict with the former.
The world of software is fascinating because the modern software engineer is often expected to encompass all those roles to some degree. I’m obviously making broad generalizations to make a point so don’t roll your eyes at me just yet!
While generated code isn’t necessarily a new thing — many enterprise codebases, encompassing millions of lines of code, are mostly generated via development tools that utilize the inherent structure of programming languages to do algorithmic pattern matching and enforce prescribed design patterns. The most recent AI boom has brought about a step change that expands the capabilities of code generation systems.
The Steam Engine That Powered the Industrial Revolution
While reading through Wikipedia’s list of eponymous laws I stumbled upon Jevons paradox:
In 1865, the English economist William Stanley Jevons observed that technological improvements that increased the efficiency of coal use led to the increased consumption of coal in a wide range of industries. He argued that, contrary to common intuition, technological progress could not be relied upon to reduce fuel consumption.
The effect was observed when James Watt introduced a design enhancement to the steam engine (along with the concept of horsepower as a means of measuring mechanical output). Later versions would incorporate reciprocating motion, a foundational mechanism used in modern combustion engine design.

Without going into too much engineering analysis the Watt engine produced a few efficiencies over the Newcomen engine:
- Fuel: 75% less coal needed per horsepower-hour (20-30 lbs —> 5-7 lbs)
- Thermal: 4-6x improvement — Watt’s engine converting 2-3% of heat energy into work vs Newcomen’s 0.5% (modern gasoline engines operate at 25-40% thermal efficiency)
- Power output: 3-4x more power output for the same size engine, due to higher operating press, double-acting design, and faster operating speed
Resource Transformation Systems: Then and Now
So wtf does all this have to do with Jevons’ observation and code generation?
Abstractly speaking, Jevons was defining a relationship between a raw material, the mechanism by which that material is converted to a resource, and the measured consumption of that resource. The first two we have discussed (coal usage and the steam engine), but the third shifts drastically during this era. Newcomen’s engine was primarily used for pumping water, while Watt’s brought about a myriad of industrial manufacturing applications and eventually transportation.
Note: The “cause” of increased coal consumption wasn’t solely engine efficiency but also labor movements in response to harsh working conditions that successfully brought about higher wages. The ease of transporting coal was also a major factor where 18th century coal prices were 4-7 shillings/ton when near the mine and 30+ shillings/ton when the coal had to be transported long distances.
From a systems engineering perspective, both the industrial revolution and our current AI revolution follow similar resource transformation patterns:
Raw Material → Processing/Refinement → Transformation Engine → Commodity → End-Use Application
In the 19th century:
- Coal (raw material) was extracted and transported (processed)
- Steam engines (transformation technology) converted it
- Mechanical power (commodity) was produced
- Factories and transportation (end uses) consumed this commodity
Coal → Mining/Transport → Steam Engine → Mechanical Power → Factories/Transportation
Today with AI:
- Unstructured internet data (raw material) is collected and curated (processed)
- LLMs (transformation technology) convert it
- Structured text/code (commodity) is produced
- Software development and content creation (end uses) consume this commodity
Unstructured Internet Data → Curation/Training Data → LLMs → Structured Text/Code → Software/Content Creation
Data or Unstructured Text as a Commodity
If we define a commodity as a homogeneous substance that is output from a controlled and optimized manufacturing process, then LLM-generated content has become a new type of commodity. The confounding aspect is the way in which it is homogeneous.
Like all data, it has volume, variety, and velocity. Unstructured data has historically meant that the variety isn’t bounded by any defined range, but rather encompasses the full range of human expression. But we can be certain that LLMs produce a subset of unstructured text by virtue of being models or distillations of information on the internet. In short, the LLM training process is lossy, so the output must necessarily be a subset of possible expressions.
This standardization is precisely what makes it a commodity - it has predictable properties and consistent quality, even while retaining the appearance of variety.
The Commodity Transformation Chain
Looking more deeply at the transformation chain:
- Raw material (unstructured internet data) is abundant but needs refinement
- The transformation process (LLM training) is computationally expensive but creates reusable value
- The resulting commodity (generated text/code) has standardized quality and predictable properties
- End-use applications vary widely but share the same underlying commodity
What’s truly fascinating is how unstructured text has become a power source analogous to mechanical energy - powering creative and intellectual work rather than physical labor.
The Ontology of Code Generation
The transition from viewing code as a craft product to a commodity represents a fundamental ontological shift similar to what happened with mechanical power in the industrial age.
In traditional software development, code is:
- A bespoke product created by skilled craftspeople
- Valued for its uniqueness and specialized adaptation to specific problems
- Limited by human cognitive capacity and time
With LLM-generated code, it becomes:
- A standardized commodity that can be mass-produced
- Valued primarily for functional utility rather than craftsmanship
- Limited by computational resources rather than human cognition
This ontological shift has profound implications for how we organize software development, just as the commoditization of mechanical power reorganized physical labor.
The Second Information Revolution
In the 19th century, the efficiency improvements of Watt’s engine didn’t reduce coal usage - they expanded its applications dramatically, changing human civilization’s relationship with physical work. Today, LLMs are creating a similar revolution with intellectual work, efficiently transforming raw information into structured commodities (code and content).
This transformation represents a significant phase transition in software’s lifecycle, with profound implications for business strategy and economic value distribution. Just as the industrial revolution created entirely new categories of work while eliminating others, the AI revolution is reshaping the software engineering profession rather than eliminating it. The value will shift from production skills to systems thinking, from coding to integration, and from implementation to architecture.
The key insight from this analogy is that transformative technologies don’t simply optimize existing workflows - they fundamentally reshape resource hierarchies and enable entirely new categories of consumption. The question isn’t whether LLMs will replace programmers, but rather what new intellectual applications will emerge when code becomes a commodity rather than a craft.
In both eras, the transformation engine (steam or AI) changed not just how we produce, but what we could imagine producing.