laitimes

Can AI really replace software engineers?

author:From programmer to architect
Can AI really replace software engineers?

"Will AI technology replace software engineers?", this is a question that many programmers are concerned about after the popularity of AI large model technology?

Will AI replace software?

From January 2023, ChatGPT, with its omnipotent ability, has made many people start to doubt themselves, is there no need for so many people to do these things in the future. As a software developer, how do you look at this?

First of all, the essence of AI technology is also composed of code, but in a popular sense, people do not think of AI as a kind of software. Why is this? Because in the traditional sense, our definition of software should be a piece of logical code, and its first feature is certainty, do we know what the software is used for? But for AI technology, although it is developed with code, it itself as software has no program logic, and some are just some continuous training content, rather than through logical judgment to achieve some specific functions.

Can AI really replace software engineers?

Through continuous training, a probabilistic judgment is generated, that is, AI exists with probability, that is, it can have result A and also have result B, but the probability of result A is greater. So there is a certain difference with the certainty of the software program itself.

Anyone who has used ChatGPT knows that it is done through mutual interaction with humans, for example, you can type something into the input box, and then through AI processing, to get a result you want. The premise is that you need to interact with the AI. Do you want AI to help you solve a problem? Although it is true that AI sometimes does not give you the results you want, this is because as we mentioned above, it is a matter of probability, so there is definitely a probability of error, there is no doubt about it.

From the perspective of the mode of interaction to trigger the result, AI is an interaction mode that can exist in many ways, such as some translation software, some AI image generation software, and some chat software, all of which solve the user's actual problems through different interaction methods.

Can AI really replace software engineers?

As human beings, there are many ways to convey information, and language is only one of them. It can also transmit information through gestures, eyes, etc., of course, this information needs to be solved by using AI vision capabilities. For example, we can train AI to learn to understand what kind of eyes mean what they mean, what kind of gestures mean what they mean, and so on. This is achieved through a lot of image processing, data analysis, model training, etc.

We can think of the AI model as the human brain, and the training of the model as a learning process, when we are still babies, it is difficult to receive some information, and adults need to continue to teach and learn. As we receive more and more knowledge, we begin to have our own understanding of things. Model training is a process of brain development.

Of course, in the real world, there are smart people and there are not-so-smart people, which is a good explanation for why AI makes mistakes. Since it is a simulation of the human brain, the shortcomings of the human brain will also be reflected in AI, because we have also introduced above, AI is probabilistic, and for the human brain, we also randomly access information, so compared with the logical computing power of traditional software, this is incomparable with AI and the human brain.

Program = Algorithm + Data Structure

I believe that the above formula should be unfamiliar to everyone, the algorithm is used to process the logic of data, and the data structure is used to store the data content. Because in many scenarios, we don't need AI to carry out probabilistic processing, so there will be some logical software, such as information management systems and bank core systems, which are all definite results and certain storage, so there is no need for AI to tell you what the results are approximately.

Suppose the AI system is in the banking system, and one day you tell him that you have about 10W in your bank account, and I am about to withdraw 5W, then at this time, what will the AI do?

Therefore, the biggest difference between software and model is that the definite result is handled by the program, and the uncertain dynamics are handled by the model.

Although AI can now generate images and generate code, it requires human interaction to do so. It is also because of the emergence of such technology that many people will have a sense of crisis, because AI can generate corresponding content according to people's needs, and it seems that there is no longer a need for so many people. But in fact, as mentioned above, since it is a simulated human operation, there will inevitably be mistakes, although the model can continue to upgrade, but it is still inseparable from human participation.

Will AI replace programmers' development work?

We know that there have been many epoch-making inventions in the long course of history, such as the Iron Age after the advent of iron tools, and the industrialization era after the Industrial Revolution.

Can AI really replace software engineers?

According to this idea, AI generates code, and the content that was originally developed by 10 people can now be done by 5 people. From this point of view, it is true that the emergence of AI has indeed replaced many programmers' job opportunities.

But on the other hand, after the Industrial Revolution, why would there be three people in the factory? If the machine can completely replace people, it means that the machine itself exists in the form of a productive force, and then it can liberate people as productive forces on a large scale. Although there are more advanced automated machines, they have not completely liberated human productivity. In other words, the support of automated machines for productivity is only an auxiliary role, not a driving role.

What does that mean? That is to say, the machine itself replaces only a part of the human work, not the whole of the human work, it only assists the human to complete some physical work, not to replace the human to make some decisions.

Can AI really replace software engineers?

In other words, the development of AI technology only assists developers in code development, not on behalf of developers to develop software, so aren't there still 5 people who have not been replaced? Many AI products on the market appear in the form of auxiliary products, rather than using clear means to let AI complete some creative work.

Isn't there a lot of AI products that can generate software, but those products are also generated by human descriptions, not by the AI itself. Therefore, what AI can do is only auxiliary operations.

At this stage, most product designs are still created with people at the center, rather than AI. In addition, as mentioned in the introduction of software above, software is a product that solves the problem of determinism, and AI needs to interact to get a feedback. As a result, AI is unable to actively manipulate existing software to do certain tasks.

Therefore, the emergence of AI will only replace some developers with auxiliary functions, and developers with core functions cannot be replaced, which also puts forward higher requirements for developers in the context of the new era.

Read on