The AI coding trap
Planning-first workflows
- Many advocate “don’t write code yet” prompting: have the agent propose a plan, alternatives, and risks before edits.
- Design docs, CLAUDE.md/AGENTS.md, and pseudocode are used to guide execution and maintain consistency.
- “Plan mode” exists in several tools, but reports say some agents still modify files; workflows with explicit approvals or YOLO mode on isolated branches with incremental commits are common.
Memory, context, and “learning”
- Strong desire for durable, session-independent memory that doesn’t consume context and isn’t lossy; current workarounds include summaries, RAG, memory banks, and MCP “fact stores.”
- Several note fundamental limits: models don’t truly learn across sessions and struggle with massive contexts without strong relevance filtering.
- Users claim compounding value comes from them learning to wield the tools, not from the models learning.
Where LLMs help most
- Scaffolding and boilerplate (tests harnesses, CI/CD, SDKs, build configs), stubs, and repo setup; speeding prototyping and exploration.
- Systematic use across lifecycle (planning, docs, test writing, refactors) can add leverage; some report large speedups, others modest or none.
- TDD support is mixed: agents can generate tests, but assertions and coverage can be wrong without tight constraints.
Quality, maintenance, and risk
- Recurrent risks: duplicated code, inconsistent patterns, “messy codebases,” loss of mental model, and hidden failures (“buggy compiler” analogy).
- Debugging or reviewing AI-written code can be harder than writing it; several prefer writing code to avoid later cleanup.
- Mitigations: constrain scope, modularize, use strong typing, enforce standards, CI/e2e tests, small tasks, and explicit plans.
Productivity impact and “thinking vs coding”
- Disagreement on where time goes: some say thinking dominates so codegen offers modest gains; others say LLMs accelerate thinking via rapid iterations and alternatives.
- Coding and thinking are seen as intertwined; faster throwaway prototypes can improve design decisions.
Roles, juniors, and learning
- Pushback on “LLMs are junior devs”: models don’t ask clarifying questions or retain context; humans do.
- Concern that heavy reliance can erode deep understanding and hinder junior growth; some deliberately code without AI to preserve skills and enjoyment.
Process and governance
- Best results come from plan–build–test–reflect loops, constraint design, and comprehensive automated testing.
- Accountability remains human: clearer standards, review discipline, and guardrails are needed, especially as some orgs mandate AI use.