#AI

Yes, And... Why AI Won't Replace Programmers (But Will Change Everything)

Tech Essays Reporter
5 min read

A computer science professor argues that AI will transform programming rather than eliminate it, emphasizing that writing code remains essential for developing true understanding and that new skills like communication and system architecture will become increasingly valuable.

The Future of Programming in an AI World

As artificial intelligence transforms software development, many aspiring programmers wonder if they're making a wise career choice. According to Carson Gross, a computer science professor at Montana State University, the answer is a qualified "yes, and..."

The Fundamentals Remain

Gross argues that computer programming fundamentally involves two core skills: solving problems using computers and learning to control complexity while solving these problems. He believes these abilities will remain valuable regardless of technological advances.

"I have a hard time imagining a future where knowing how to solve problems with computers and how to control the complexity of those solutions is less valuable than it is today."

The Critical Warning: You Must Write the Code

The most important advice Gross offers to students is unequivocal: "You have to write the code."

This isn't about building muscle memory or following tradition. Gross explains that if students don't write code themselves, they'll lose the visceral understanding that comes from hands-on experience. Without this foundation, they won't be able to read code effectively—a skill that may become even more valuable in an AI-driven future.

He warns of "The Sorcerer's Apprentice Trap," where programmers create systems they don't understand and can't control. This mirrors the classic tale where a magician's apprentice uses magic beyond their comprehension, leading to chaos.

AI as Teaching Assistant, Not Replacement

Rather than viewing AI as a threat, Gross positions it as a powerful teaching assistant. When used correctly—not as a code generator but as a partner for understanding concepts—AI can help students overcome roadblocks and accelerate learning.

He provides students with an AGENTS.md file to configure coding agents to behave like great teaching assistants rather than code generators. This approach helps eliminate the accidental complexity that often frustrates beginners without sacrificing the learning process.

Why AI Code Generation Isn't Like High-Level Languages

Gross pushes back against the common comparison between AI code generation and the historical shift from assembly to high-level languages. While compilers are largely deterministic, producing predictable output from given inputs, current AI tools are not.

High-level languages eliminated accidental complexity and provided a clear path from specification to implementation. AI-generated code, by contrast, often introduces complexity through inappropriate approaches, shortcuts, and inconsistent patterns. Without the ability to read and understand this code, programmers cannot evaluate its quality or make informed decisions.

The Skills That Will Matter Most

As raw coding becomes relatively less important, Gross identifies several skills that will increase in value:

Communication Skills: The ability to write, think, and communicate clearly with both AI systems and humans will be crucial. Many programmers already have literary inclinations, and this skill will likely grow in importance.

Business Understanding: Programmers who understand the real-world problems they're solving—whether in business, government, or other domains—will have a significant advantage. AI may free up time for deeper business engagement.

Software Architecture: The ability to organize large software systems effectively and control complexity will become increasingly important. Gross notes that traditionally, good architects developed their skills through years of coding experience, making it essential for juniors to continue writing code even as AI tools become available.

Effective AI Usage: Knowing how to use AI tools effectively will be a valuable skill in itself. This varies by experience level:

  • Senior Developers: Can leverage AI to analyze code, organize thoughts for large projects, generate small code snippets, create demos, and suggest tests. They should avoid letting AI design APIs or generate complete solutions they'll need to maintain.
  • Junior Developers: Face the greatest temptation to use AI as a crutch. Gross emphasizes they must write code themselves, even if it means working harder than peers who "vibe code" their way through assignments.

The Job Market Reality

The current programming job market is challenging, with many CS students struggling to find positions. Gross believes this is cyclical rather than permanent, but offers practical advice for job seekers:

Rather than relying on online job boards (which he calls "a lottery"), he recommends the "four F's" approach: Family, Friends, and Family of Friends. Personal connections provide a competitive advantage that online applications cannot match.

He shares an example of a student whose parent worked at Costco corporate. While this might not seem like a tech connection, many large companies have development teams, and starting in a related role while building programming skills can lead to excellent career opportunities.

A Message to Companies

Gross concludes with a direct appeal to employers: "Let the juniors write at least some of the code. It is in your interest."

Companies that prevent junior developers from writing code to maximize short-term productivity may find themselves without the experienced architects and senior developers they need in the future. The complexity explosion that comes from AI-generated code without human understanding will eventually outweigh any initial speed advantages.

The Bottom Line

The future of programming isn't about choosing between humans and AI—it's about humans using AI effectively while maintaining the foundational skills that make great programmers. As Gross puts it, the fundamentals of programming, particularly writing good code and controlling complexity, will remain perennially important.

For those considering a career in computer programming: Yes, pursue it. And yes, be prepared for it to change dramatically. The key is to embrace the change while holding onto the core principles that make programming both an art and a science.

Comments

Loading comments...