“Will AI replace programmers?” This is a hot topic of the last decade. There are automated platforms for code generation trained on bases from such public repositories as GitHub (Open AI Codex, Code T5, Polycoder). Smart algorithms have already reached an extremely high level: they can assess the quality and uniqueness of code and check it for errors. More and more often, clients are asking software development companies to “create AI to generate sites.” How realistic is this? Let’s figure out if the Skynet era is approaching.
The reasons why AI in Programming has attracted Public attention
In 2012, the outsourcing company Engineer.ai claimed that up to 80% of their code is written by AI. However, in 2019, it became clear that the statement was a lie. It turned out that an army of developers from India and nearby countries stood behind the so-called AI.
But journalists trying to stir up the interest of readers with AI and the enslavement of humanity were unstoppable. The query “AI will replace programmers” has more than a million pages of answers online.
Most of them are given by journalists, copywriters, and content managers. But these people are unfamiliar with programming. Firstly, they do not possess technical skills and cannot accurately assess the influence and spread of AI. Secondly, they strive to attract as many readers as possible to increase site traffic.
The idea of no-code programming has also shaped public opinion. According to the no-code and low-code concepts, you don’t need to know a programming language to create software solutions.
You just need to use special platforms and a graphical interface for that. Any layperson – a businessman, manager, or ordinary employee – can design applications this way.
Gartner estimates that in 2024, about 65% of applications will be built using no-code/low-code. Around 66% of organizations will use at least four low-code platforms.
Thanks to such systems, it is easy to create and test applications. But no-code/low-code platforms are built by developers and have nothing to do with AI. Creating efficient AI is difficult and, most probably, impossible for several decades to come. Let’s see why.
Why it’s too Early to talk about Creating AI that will replace Human Developers
In 2022, AlphaCode, the first standalone AI programming system, was introduced. It was trained on code samples from GitHub. After training, the system was registered on the Codeforces platform as a participant in a programming competition.
The contest determined strong developers able to solve non-standard tasks in a short time. AlphaCode showed an average result, being among the top 54% of participants. But such knowledge may not be enough to create unique and complex business solutions.
Creating AI that can generate websites in an hour is extremely difficult for several reasons:
1. AI is hard to train.
An AI model is based on iterative learning. Imagine that AI is a black box able to change as it runs, which makes the learning process possible. For example, you need many images of cats to train AI to distinguish between cats and dogs.
A labeled image is put in a neural network, and the latter tries to guess if the creature is a cat. A developer counts the percentage of correct answers. In the next iteration, the specialist slightly changes the network and passes the entire dataset through it again. Thus, the algorithm “gets smarter”.
Distinguishing cats is easy. With applications, it’s more difficult. For AI, two things are needed to generate an entire website:
- clear terms of reference;
- the code of many applications.
Kanban, Scrum, and other Agile methodologies have become so popular because customers don’t understand how software products work, and terms of reference can change frequently.
They can be roughly described in text documents, correspondence messages, or on draft layouts. As a rule, no one collects this information centrally and does not track changes.
It is necessary to demonstrate how a particular requirement influences the choice of code. It is difficult to imagine the budget of such an AI project and the complexity of the task.
In practice, getting access to the code of many applications is difficult. Even in huge outsourcing companies, like Andersen, with hundreds of projects carried out simultaneously, it is hard to obtain initial data for model training. Code written by developers belongs to a customer, and not every business person wants to share their property.
2. AI cannot yet support an entire project.
The first problem determines the second one. Due to the lack of data, a smart algorithm cannot support an entire project. AI is trained on public sources (for example, GitHub) and generates small code fragments embedded in a software development project.
For example, the OpenAI Codex algorithm underlying GitHub Copilot translates plain text into one of 12 programming languages (JavaScript, Go, Perl, PHP, Ruby, BASH, etc.). It can be applied to almost any programming issue. Its counterpart, CodeT5, works on the same principle.
Another AI tool, Tabnine, analyzes the code a developer enters, evaluates the context, and predicts the next lines. Thus, the programmer does not need to spend time typing commands. The autocomplete mechanism works well for 20 programming languages (JavaScript, Python, TypeScript, Rust, Go, Bash, etc.).
In the first and second examples, AI platforms act as developers’ assistants, speeding up their work and ensuring code cleanliness. But they are still far from being serious competitors to human developers.
Will no-code / low-code Platforms replace Programmers?
Despite Gartner’s rosy predictions, professional developers aren’t likely to be replaced by non-programmers using no-code. The growing revenue of low-code platforms does not mean the collapse of IT professions because:
– No-code/low-code platforms are templates and can be used mainly for landing pages and small stores. But it is difficult to build a large-scale software product like the Amazon or Alibaba platforms from ready-made blocks. No-code/low-code platforms have limited functionality. They will not be able to implement smart search or AI-based recommendations on a site. Furthermore, It is unclear if they are optimized and can withstand overload.
– A no-code platform needs maintenance like any other site. Without support, a site created with a website builder will accumulate such technical debt that it will be easier to create a new version than to solve problems with the old one.
Even though no-code/low-code platforms have existed for a long time (the first GeoCities constructor appeared in 1994), their development has not gone beyond the creation of landing and personal pages. And developers still earn a living building efficient solutions.
Conclusion
The Internet is full of flashy headlines saying that AI will replace any specialist. But this is definitely not the case with developers. Of course, one cannot deny technological advancement, but it’s not as rapid as various media tell. Despite the similarity, many applications are unique.
They have common elements that differ in numerous microservices, libraries, databases, queues, and other smart components. Currently, only a human can create something original and complex.