Creation-Consumption Cycle
Background
Easy means low cost of creation, simple means low cost of consumption
Coding agents have made the cost of code generation (creation) marginal, but reading and understanding (consumption) the generated code by the people in the team tend to get harder - see the Not-Invented-Here syndrome loosely.
Why this is the case is likely due to how the people handle these tasks as germane or extraneous cognitive loads, which the split is not clear-cut.
Creation
In our first part of the SPIRIT series, we showed that in the Inheritance-Agency-Legacy loop, creation is leaving the legacy - where impact and posterity comes from.
Creation is usually regarded as an active pursuit, where one's thinking is expected to be crystallize outwards, such as the very maintenance of this blog (and its supposedly weekly posting cadence).
Creation also demands germane cognitive load, because it requires one to carefully construct a long-lasting store of knowledge through categorization of the relationships between concepts old and new. That's why it's sometimes said that the best way to learn something is to teach that thing - having to create a README.md, a walkthrough, a syllabus - encourages one to consolidate stronger relationships and prune the weaker ones.
However, creation can be self-limiting and requires certain tenacity to realize the impact. The other part is to, in some ways, be true to oneself - what is posterized is subjected to reviews of the author's intention, taste, and verity by any consumer. Both of these increases the costs of creation, and that had traditionally explained the code part of software development.
There is only a finite number of Agile sprints till the next 'Hybrid Release Train Iteration 42' such that prioritization can be make-or-break. There is only so much time for each key press to get translated into a letter (sometimes through an artisanal fashion), so much physical screen estate space for text to be rendered. Then, intentions are cross-examined in implementations: code reviews are passed around from 'this style is wrong' one-liners to 'have we explored these alternatives of enforcing the invariants identified here...' paragraphs.
Coding agents have not only removed these higher costs of creation, but the germane cognitive load is also reduced if not eliminated in the same stroke. Some people therefore find it harder to learn in such environments when the mental exercises go away. In some schools of thoughts, the focus then shifts to simplicity: whether the outputs can be consumed simply.
Consumption
Substrate and rites are what we consume from - the Inheritance. Consumption tends to be the more passive pursuit, where one's thinking has to focus more on sieving out the fluff from the content - the extraneous cognitive load. Consumption can also become comfortably infinite: doomscrolling comes to mind; when it's all fluff and no content, and there is no need to meet quantity with quality.
Leading from the code reviews mentioned in the earlier section, people who are reviewing are informed of their choice before they consume: to take what they learned about the current system and use that to influence the change such that there is a net-positive contribution to the code repository.
When the change agrees with established rites and intuitions of the people on the team, reviews become simple since there is less need to use extraneous cognitive load to understand and reason about. When the change seemed alien to the team's rites or just plain counter-intuitive, the fluff-vs-content sieve has to work much harder, the very complexity we are armed to reject.
Coding agents without the right guidance fall into the latter outcome, and it doesn't help that the people with gradually less exposure to code that they would have otherwise created are also left with less substrate, rites, and intuition if they are not careful. In other words, an agentic-conscious team will do well to align their coding agents to lower the cost of code consumption when going through reviews.
Cycle
The dichotomy between creation-and-consumption once more:
| Creation | Consumption |
|---|---|
| Active | Passive |
| Germane | Extraneous |
| Finite | Infinite |
| Uncomfortable | Comfortable |
Yet the cycle ascribed through Inheritance-Agency-Legacy and SPIRIT is clear: passive pursuits lead to active ones through grit, and realized impact form the rites and intuition of the younger generation.
Agentic-conscious teams should be careful not to substitute germane with extraneous cognitive loads, which implies making code easy to generate and complex to understand. The germane load should be maximized in the team's intention to create a meaningful change, and the extraneous load minimized when consuming the implementation and reasoning about it.
If my trains of thoughts line up right at the next station blog post, we'll examine the intention-implementation impedance as a continuation of the current four-part series.
AI disclaimer: Have bounced ideas off, so while text is still my own, the way I arrived at some of them may contain minor influences from such interactions.