merrittlj

AI and the value of code

Intro

AI has held a significant position in public opinion recently, especially within the tech space. LLMs are simultaneously creating and solving problems within school environments, algorithms dictate what, where, and how we see things, and “AI” can drive cars to varying degrees of success. The term “AI” encompasses so many different sectors and technologies, and is often used purely as a buzzword; the focus of this article is to focus on the effects LLMs and intelligent technologies have as a whole on software development, and my personal view on the supposed AI crisis many think faces programmers. This is not necessarily related to any technology specifically, rather I hope to discuss these technologies in general as they relate to code itself, which is often not thought about.

The builder

A builder wields hammers and other tools to contruct various things; have these tools remained the same throughout all of history? The form may have remained relatively similar, but the tools have of course changed. Lets assume very primitive builders used something along the lines of a rock, as compared to the contemporary hammer. If advancements in technology led to, lets say, a rock on a stick with improved ergonomics, this would naturally become the new tool over time. Yet, despite the significant change in technology(we now have a stick!), the ultimate purpose, constructing things, remains constant.

Is the builder’s value in their ability to wield a rock?

Should the builder resist this development in technology, the rock on a stick?

I would argue that the builder’s value is not inherently tied up in the rock itself; anyone can wield a rock like a madman, but only few can use it to actually construct something. The builder’s goal is not to use a rock well, the builder’s goal is to build. When a builder goes home after a long day of work, they would not take pride in the fact that they really hit a lot of things with that rock, they would take pride in the fact that they built something.

The rock of course provides value to the builder, it helps them in their goal, but it does not define their value. If a rock on a stick would allow the builder to achieve their goal of building better, why should they remain attached to the primitive rock? Adoption of the rock on a stick is the only way to remain relevant in the industry of primitive building.

So what?

As it may have become obvious, the builder is the modern-day software developer and the rock is code itself. What is the rock on a stick? Largely, this can apply to any technological innovation increasing developer productivity, but in this case it is AI.

I would argue that like a madman with a rock, someone who can only write code has no real value. Essentially everyone who can write code has real value, but this is not due to the code itself. As with how the value in a builder is within their work, similarily the value in a programmer is within what they actually create, their real impact. In a simplistic sense, a monkey can use a typewriter, but its random strokes of keypresses have little value(except of course the nearly impossible chance of producing Shakespeare).

In the broader scope of things, programmers should not resist the development of AI and similar technological advances; these advances merely further help achieve the overarching goal of a programmer. Programmers in the core sense will not be “replaced by AI” as the public opinion seems to push so much. The core role of the programmer is not to write code necessarily, but it is rather to harness technology and use it effectively to have an impact. Thus, regardless of how well AI(eg. LLMs) can write code, the job of the programmer persists. While the methods of harnessing technology and achieving their goal, the “tools of the builder”, may change significantly, the programmer will not be replaced, as the need for technological utilization will always persist no matter the underlying technology.

Now that it is established that programmers will not lose their jobs and purpose in the sense that many say, why is there still resistance to the adoption of these new technologies? Simply, as with anything, there are many social and psychological reasons to address regarding the usage of AI for developer productivity. If it remains reasonably effective, naturally many people will take the path of least resistance of simply persisting in their current ways. The rock on a stick might be such a fundamentally different paradigm to the rock-wielding builders that adopting the rock on a stick might cause temporary losses in productivity or efficiency.

I am neither an “AI-positive” or an “AI-negative” developer, as many seem to side with in the public eye, in the sense that I will religiously spearhead or condemn any AI code-writing tools. AI itself is not even in consideration. I am impact-driven.

<< Previous Post

|

Next Post >>

#Opinion #Software