Simplicity in the Age of AI-Assisted
LLMs don't change what good programming looks like, but they enable us to achieve simplicity by making it cheap to rebuild systems without inherited complexity.
Complexity through multiple linguistic layers: a single feature (sticky header toggle) gets expressed across user stories, CSS, JavaScript, configuration files. "The layers exist for communication, not computation."
Complexity explosion: adding cross-device persistence transforms a simple feature into databases, migrations, APIs, containerization, Kubernetes, monitoring, specialized roles. "All of this to remember whether the header should be sticky."
Self-perpetuating cycles: once infrastructure exists, roles justify its continuation. "The complexity justifies the roles. The roles produce the complexity."
LLMs inherit rather than question: models replicate existing architectural patterns without questioning necessity. They're trained on millions of repositories that perpetuate complexity. "The LLM will not question your architecture."
The real unlock is removal, not generation. When humans identify unnecessary complexity, LLMs can regenerate alternatives without inherited layers in minutes. "What LLMs actually give you is the possibility of simplicity: the removal of complexity that shouldn't have been there."
"The hard part is the human part: recognizing which complexity is essential and which is inherited."