An intrinsic thirst for knowledge and excellence is a prerequisite for high-quality work. With the acceptance of AI coding tools, new developers, including myself, will struggle to keep a real passion of understanding and developing software. While I am still new to the industry, it is precisely because I am new that I can identify the effect of AI on new developers.
The ubiquity of computer applications is, in my view, what ignites the spark of interest in computing. The “act” of a computer doing tasks that otherwise a human would, is a (lossy) compression of space and time. This is easy to grasp; storing data digitally takes less space than its physical form, and delegating tasks to a computer is faster than delegating to a human. And so the work of a computer scientist or software engineer can touch almost all industries. Consequently, any industry that gains from the compression of space and time will inevitably involve some means of automation via software. An engineer can work on core, general purpose tools, such networking protocols, parsers, databases, and affect many industries at once. Or an engineer may work on industry-specific tools: embedded systems for train control, medical imagery devices, or high-speed trading software, and satisfy their interest in that specific field along with the unique industry-specific software expertise.
The utility of software therefore sparks an interest in software and automation. Yet what encourages me to continuously pursue excellence in programming is the sheer depth of common computer science concepts. Proving that a program works, or that it guarantees a certain time complexity, by writing it out. Knowing when to use one approach over another, from trying and failing. Computer science and software engineering are disciplines of academia, after all; software engineers know that code is the merely the implementation of knowledge (the organisation and management of data, for a specific purpose, following a given set of business rules…)
Unfortunately, the acceptance of AI coding as a practice, and the encouragement of industry to pressure new developers to use these tools, attacks the fundamental interests and joys that drives an engineer to excellence. I use the word attack rather than threaten because to use the word threaten would mean that AI coding tools along with other tools or external interests will result in a weakened interest. Yet AI alone is enough to weaken critical thinking, permitting the production of software without an understanding of how the product works.
Are engineers and developers employed to type keys on a keyboard, or are they paid because they know how and why software works? With AI is there room for software developers that endeavour to understand their work, with a desire for excellence?
One needs not to discuss whether AI tools produce correct software. There is no discussion to be had on the need, or rather an economy’s want, for software. In fact, it is very telling that any engineer must defend their criticisms of AI by clarifying they are not anti-AI and merely cautious or wary about using AI heedlessly everywhere, including in their hobbies and personal life. The use of AI to produce a working product that meets a set of business requirements is unrelated to using AI to research, contemplate, experiment, and make decisions for oneself, thereby passing the struggle to know.
Certain countries are pouring masses of money into the development of AI, in the fear of being left behind in the “AI race.” I cannot help but think that any country truly is interested in remaining relevant in the AI scene…should first consider if they have the existing engineering culture and the existing infrastructure that will continue to exist with or without AI. If all AI capital—investments, research, public and private discourse—were to disappear overnight, would there still be an incentive to pursue computing as a science? To develop the correct, complex, hand-written software that allowed for the rise of AI in the first place?
I enjoy software because I enjoy understanding logic and math. AI has helped me “do” things, but it has not intrinsically helped me understand anything, so I don’t enjoy using it. When people in the tech industry tell me otherwise, that there is no harm nor reason to dislike AI even for personal use, my interest in this field falters.
It is difficult to be a good software engineer with the advent of AI.