Some people are convinced that AI will replace programming expertise
overlooking fundamentals like good coding, proper testing, and robust quality
assurance. Although AI may seem capable of generating code in many scenarios,
it still falls far short of replacing the skilled human expert.<p>It's interesting how a manager who isn't a professional programmer—with coding
experience limited to some academic work and a few simple 'say hello'
scripts—can have such strong opinions about AI soon replacing junior
developers. I think that this view reveals the underlying hope to completely
eliminate the need for programmers, testers and in some cases even devops (!)
altogether.<p>Programming isn’t just about writing code—it's about designing systems,
planning for future changes, avoiding vendor lock-in, and ensuring everything
works together seamlessly. The art and science of writing testable code that
can be effectively quality assured, is one of the pillars of writting successful
software, yet it often gets overlooked in favor of quickly produced, bug-ridden
code full of niche edge cases from AI-generated solutions.<p>In the end of the day, AI is a tool to assist programmers, not a substitute for
solid coding and testing practices. Using AI to generate testing data, create
small functions with clear definitions and no side effects, and document code
and procedures can be incredibly useful and boost developer productivity.
However, this doesn't mean that AI-produced code should automatically be
integrated into a codebase, replacing the programmer's skill, experience, and
judgment—a practice that could quickly lead to software nightmares and
disasters.