Will AI replace the programmer? Not so fast
19 June, 2023
Nir Dobovizki, a senior software architect at CodeValue, says AI tools definitely empower programmers, but less likely to replace them in the foreseeable future
The field of artificial intelligence (AI) is revolutionizing automation, and large language models (LLMs) like ChatGPT are at the forefront. These models showcase impressive capabilities in generating textual and graphic content and engaging in interactive dialogues with humans. The application of AI in areas such as sales, customer service, and teaching is expanding, transforming professions we never thought computers could perform.
Code, being a language itself, is abundant on the web, presenting a vast pool of data with which neural networks can be trained to code on demand. This automation initially appeared with GitHub Co-pilot and is now further exemplified by ChatGPT 4, which can automatically generate code for any task.
In our technology-driven world, programming has become one of the most sought-after and esteemed professions. However, an ironic question arises: Can AI replace programmers?
Nir Dobovizki, a senior software architect at CodeValue, has embraced tools like ChatGPT as part of his programming routine. While these tools are impressive and make a programmer’s life more convenient, they do not pose a threat to their jobs, according to Nir.
Nir emphasizes the need to break down the concept of “artificial intelligence.” He views it as a marketing term, clarifying that there is no manifestation of true intelligence, understanding, or knowledge in these tools. They are statistical instruments, albeit remarkable ones. AI lacks the genuine ability to differentiate between truth and falsehood, or to distinguish facts on its own.
“For me, one of the primary purposes of code is effective communication to fellow programmers, ensuring they understand my intentions beyond mere functionality. Code is akin to a story, and clarity matters. These tools, although capable of performing tasks, often lack style, hindering collaborative coding efforts.”
So how does one effectively utilize these tools?
“It’s undoubtedly an automated tool that offers significant assistance—an advancement in automation. However, I only use it for tasks I’m familiar with. If it’s something I’m unsure about, I won’t be able to verify whether the AI has executed it correctly. I rely on these tools for problems I comprehend, saving me considerable typing and providing confidence in the accuracy of the written code.”
The term “artificial intelligence” itself poses challenges, obscuring the creation and operation of these models. Nir Dobovizki highlights that each model and neural network is a product of the data used to train and validate it. Training these models necessitates abundant and high-quality data, with the exact quantity being uncertain in advance. It’s a process of trial and error, with verification playing a vital role. However, biases can emerge at both the training and verification stages, leading to gender and ethnic biases in certain applications like facial recognition systems that excel at identifying white individuals but fail with Black individuals. Bias stems from the data used for training and validation.
“Perfect verification is essentially impossible; biases may persist due to how we test the model. Therefore, involving humans in the training and operational processes is crucial for vigilance and error correction. We must exercise great caution, particularly when dealing with systems that impact human life, such as autonomous driving systems. Any bias within such systems could jeopardize human safety.”
At present, these tools are incapable of coding complex tasks requiring a deep understanding of multifaceted interactions. These challenges remain exclusively within the realm of skilled and experienced programmers. Even when these tools generate convincing code for intricate problems and perform well in a development environment, there is no way to ensure they are free from critical bugs. These tools empower programmers and may reduce the required workforce, but they are far from replacing programmers, both in their capabilities and in the foreseeable future.
In conclusion, AI-driven tools have ushered in a new era of automation in programming, amplifying the capabilities of programmers while preserving their indispensable role in tackling complex challenges. The collaborative efforts of humans and AI continue to shape the future of programming, offering promising prospects for enhanced productivity and innovation.
[Pictured above: OpenAI HQ. Source: Wiki]