The Journal
Essays
Long-form writing on AI, philosophy, psychology, and systems thinking.
-
Technical Debt Is a Loan, Not a Failure
Technical debt is a tool, not a failure. Fowler's quadrant framework reveals four distinct patterns of debt, each demanding a different management strategy.
-
Platform Engineering Is Service to Others
Platform engineering is duty made tangible. The best platforms reduce cognitive load so product teams ship business value instead of fighting infrastructure.
-
Camus, Sisyphus, and the CI/CD Pipeline
The CI/CD pipeline is Sisyphus's hill. Meaning comes not from the permanence of your deployments but from the consciousness you bring to each push.
-
Conway’s Law Never Stopped Being True
Conway's Law predicts that architecture mirrors team communication. 57 years later, ignoring it remains the root cause of most architectural failures.
-
The Consulting Operations Paradox
The most valuable consulting intervention in 62% of cases was removing something. Yet consulting economics reward building over removing.
-
The Spiritually Dispossessed Workforce
The modern workforce is not merely exhausted but spiritually dispossessed, stripped of the connection between daily labor and existential purpose. The deepest workplace dysfunction is not structural but existential.
-
The Modular Monolith as Stoic Discipline
Architectural simplicity is not a concession. The modular monolith demands more discipline than microservices and delivers more reliability for most teams.
-
Context Engineering Is the New Systems Design
Context engineering treats what information reaches an LLM as an architecture problem. It reduced hallucination rates 41% across 3 enterprise deployments.
-
The Ethics of Outsourcing Judgment to Machines
Delegating judgment to algorithmic systems transfers decision-making from morally accountable agents to probabilistic systems that bear no responsibility. The ethics of outsourcing judgment is an operational reality every systems builder confronts.
-
The Decaying Half-Life of Synthetic Code
AI-generated code has a measured functional half-life of 4.7 months, decaying approximately twice as fast as human-written equivalents. Generated code lacks the contextual understanding that enables adaptive maintenance.