[KongchangAI]
· 1 min read· 965 words

Carson Gross: Why Programming Remains a Reliable Career Choice in the AI Era

Carson Gross: Why Programming Remains a Reliable Career Choice in the AI Era

Carson Gross argues programming's essence—solving problems and controlling complexity—remains a solid career foundation despite AI.

htmx creator Carson Gross proposes that programming is fundamentally about two things: using computers to solve problems and learning to control complexity. In the debate over whether AI will replace programmers, most focus on whether AI can write code, overlooking that code is just a means. Gross argues that problem definition, solution abstraction, architecture design, and technical debt management—work depending on domain experience and judgment—are hard for AI to replace. AI tools change how we program, not the core competency requirements of the profession. This aligns with Simon Willison's view: AI boosts efficiency, but software development's essence remains understanding problems, designing solutions, and managing trade-offs. Developers should strengthen problem definition and systems thinking, treating AI as leverage, not a replacement.

rss source: Quoting Carson Gross

The Essence of Programming: Problem-Solving and Complexity Control

Carson Gross, the creator of htmx, offers a concise definition of programming in an essay titled "Yes, And...": computer programming is fundamentally about two things—using computers to solve problems, and learning to control complexity in the process of solving them.

This definition isn't new, but it happens to hit a blind spot in the current debate about whether AI will replace programmers. Most arguments focus on "can AI write code," overlooking the fact that writing code is merely a means—the real core competencies are problem decomposition and complexity management.

Carson Gross is the creator of htmx and one of the leading voices against over-engineering in frontend development. His theory of programming's essence emerged from long-term practice and reflection, not abstract philosophical speculation. The design philosophy of htmx itself—expressing interactions directly through HTML attributes and reducing JavaScript dependencies—is a concrete embodiment of the "controlling complexity" principle. Notably, Gross uses the phrase "learning to control complexity" rather than "controlling complexity," a wording that suggests complexity control is not a static skill but a dynamic process of continuous adjustment as systems evolve. Any effort to "eliminate complexity" once and for all often merely shifts complexity elsewhere.

Why These Two Abilities Are Hard to Replace

Carson Gross further argues that he finds it hard to imagine a future where "knowing how to use computers to solve problems and knowing how to control the complexity of solutions" becomes worthless. The logic behind this judgment deserves a closer look.

Problem-solving requires understanding business contexts, abstracting requirements, and weighing constraints. AI can generate code snippets, but judgments about "which problems are worth solving" and "which approach is most reasonable" still depend on human experience and domain knowledge.

Complexity control is more subtle. As a system scales up, requirements change, and multiple people collaborate, complexity naturally expands. Architecture design, module boundary definition, technical debt management—the goal of these tasks is to keep complexity within manageable bounds, not simply to "write code that runs." Gross uses the phrase learning to control complexity, emphasizing that this is an ability requiring continuous learning, not a skill mastered once and for all.

AI Tools Change the Toolchain, Not the Career Foundation

Carson Gross's conclusion is not a denial of AI's impact, but rather a placement of AI in its proper position: it is a tool that will change how we program and how efficiently we do it, but it will not shake the career foundation of "using computers to solve problems + controlling complexity."

This view aligns with Simon Willison's long-standing assessment. Willison has expressed a similar position on multiple occasions: AI programming assistants make developers more productive, but the essence of software development remains understanding problems, designing solutions, and managing trade-offs. The more powerful the tools, the higher the demand for the user's judgment—because when you can produce code faster, you need even more to know what to produce and what not to produce.

Simon Willison is a co-creator of the Django framework and one of the most influential independent observers in the field of AI programming tools today. He has long tracked the application of large language models in software development and frequently documents and tests various AI programming assistants on his blog. Willison's core judgment is that the "fluency" of AI-generated code easily leads people to believe the core work of software engineering has been completed, but what truly determines a project's success—accurate understanding of requirements, handling of edge cases, long-term maintainability—still depends on human judgment. This assessment is crucial for understanding the industry impact of Carson Gross's views, because both figures have considerable influence in the developer community, and their positions represent the consensus direction of experienced engineers rather than isolated optimistic or pessimistic voices.

What This Means for Developers

If we accept Carson Gross's framework, the direction for developers' skill development becomes clear:

  • Strengthen problem-definition ability. Being able to translate vague requirements into clear technical problems becomes even more critical with AI assistance, because when execution costs drop, the cost of going in the wrong direction becomes more prominent.
  • Cultivate systems thinking. The mastery of complexity control is reflected in architectural decisions and technical trade-offs, which require experience accumulated across projects and over time.
  • Treat AI as leverage, not a replacement. Make good use of AI tools for repetitive, pattern-based coding tasks, freeing up energy for the parts that require judgment.

Carson Gross's remarks are not empty optimism. They provide an actionable thinking framework: rather than worrying about whether AI will take your job, ask yourself where you stand on the two dimensions of "solving problems" and "controlling complexity." This framework will not become obsolete no matter how AI evolves.

Original source: htmx.org/essays/yes-and, cited via Simon Willison's blog.

One-line Summary

Carson Gross argues that programming is fundamentally about solving problems with computers and controlling complexity—AI won't shake these two career foundations.

Paragraph Summary

Carson Gross, creator of htmx, proposes that programming is fundamentally about two things: using computers to solve problems, and learning to control complexity. In the debate over whether AI will replace programmers, most arguments focus on whether AI can write code, overlooking that writing code is merely a means. Gross argues that problem definition, solution abstraction, architecture design, and technical debt management—work that depends on domain experience and judgment—are hard for AI to replace. AI tools change how we program and how efficiently we do it, not the core competency requirements of the profession. This view aligns with Simon Willison's long-standing assessment: AI assistants boost efficiency, but the essence of software development remains understanding problems, designing solutions, and managing trade-offs. Developers should strengthen their problem-definition ability and systems thinking, treating AI as leverage rather than a replacement.

#Carson Gross#htmx#AI programming#programming career#complexity control#Simon Willison#software development
Share:

Related articles