What ChatGPT can do

People have a strong competitor – neural networks. For now, ChatGPT, like some other neurons, is helping the developer. At the same time, AI begins to gradually compete with humans.

The replacement process, some believe, has already begun. For example, Emad Mostak, founder and CEO of Stability AI, creator of Stable Diffusion, agrees with this opinion. He is quite categorical: “The future for human coders is not very bright.” Well, statistics from GitHub show that now about 41% of code is generated by AI.

One can probably argue with the data about 41%, but the volume of code created by AI is indeed very large. This is just the beginning: in the future, the neural network will be able to successfully compete with humans.

Why can developers be replaced?

Do not agree? Let’s see who a programmer is, what he does and what type of work he does. When a company hires a coder, they have certain requirements. For example, you need to be proficient in Python, C#, and know some tools and frameworks. In addition, the developer must be able to understand the input conditions from the systems analyst and be responsible for the functionality of the code.

But already now AI can perform such tasks no worse than developers. Neural networks have received a huge knowledge base; they “understand” how to write and optimize code in the desired language.

There is an opinion that it is easier to replace coders with a machine than managers. All developers leave a digital footprint through the code they write, some even document all their steps. Accordingly, it costs the neural network nothing to study the technical documentation and start working based on the information received.

It is often said that programming is creative work. At the same time, the element of creativity here is not very significant, and not every developer is a real creator. Most tasks are routine, which a neural network can handle just fine. And we are now talking not only about writing code, but also about finding bugs, deployment, optimizing algorithms for working with data structures and other similar tasks.

Most of them do not involve any creativity; their execution can be automated. Here’s what the process looks like for an average enterprise project:

  • there is a business owner, he forms business requirements;
  • the analyst studies all this and sets precise tasks;
  • they are broken down into atomic devtasks, which we place, for example, in Jira;
  • tasks are completed, the project is being prepared;
  • Bugs are found and fixed.

Monotony and errors

Programmers are human, which means they make mistakes. They screw up, don’t see vulnerabilities in the code, and miss bugs. Already, AI makes far fewer mistakes than most developers, and there are specialized networks for searching for vulnerabilities and testing.

There are, of course, good coders. They write great code with few problems and know how to communicate in a team. They understand business processes and know how to interact with specialists in other fields. They understand the user’s needs, can experiment, and are responsible for their code. Such professionals or Product Engineers are indeed unlikely to be replaced by neurons, at least in the foreseeable future.

But such developers are less than 20% or even 20% of 20%. Their number is not growing; they are being “killed” by corporations. For example, they are put in charge of projects to create new products and services. And they stop writing code and start managing processes in the team. As a result, 30-40 year old programmers disappear. Usually precisely because they become managers. At best, they become team leads.

All other specialists do approximately the same as most other office employees – solve small routine tasks. And, as mentioned above, neurons also cope well with them.

Now – to the most interesting part.

Why can’t developers be replaced?

It is generally accepted that neural networks are not suitable for a wide range of tasks. But upon closer examination, it turns out that this is not so (or not entirely so). In some cases, these tasks are not that important, so ChatGPT cannot be blamed for such things. We’ll talk about this below.

  1. ChatGPT is not a team player.

Let me explain: this is a tool that most likely works with one coder, and therefore he does not interact with the team. Is it good or bad?

On the one hand, well-coordinated teamwork is an advantage. Remember the films “Mission: Impossible” or “Ocean’s 11,” where people work as a single organism. Each member is a very strong specialist in their field, and they all support each other.

But such ideal teams only exist in movies. Most real teams have many problems. This is because in the real world there are very few well-functioning teams that work as efficiently as possible at all levels – from coding itself to communications with the customer without conflicts, misunderstandings, intrigues and other things.

So it’s hard to say whether the lack of a team for ChatGPT is a plus or a minus. But on average, ChatGPT alone can complete tasks faster and more efficiently than a team of people.

  1. ChatGPT cannot think like a user and has no empathy.

Here we return again to good developers. They can truly put themselves in the user’s shoes and make a great product. A neural network is not capable of this. But, as we said above, there are much fewer specialists of this class, real Product Engineers, than ordinary ones.

In addition, even if the developer does not have “user empathy,” there is user feedback. The latter are able to quite clearly and accurately explain what they need in a particular service or application, and what is better to remove. With this data, the average developer can fix everything.

The same feedback from users can be used for the benefit of working with ChatGPT – all this can be “fed” to the neuron, and it will do what is asked of it.

  1. AI is not capable of experimentation .

It gives one result. As a rule, it is correct and works correctly. But a person will try to solve a problem in several ways and choose the most effective one.

In science, inventions often arise from experiments gone wrong. Penicillin, saccharin, impact-resistant glass are the result of a scientific error. The creation of Viagra was just as accidental, because pharmacists wanted to create a cure for heart failure, but they got what they got. We can say that most great discoveries are deviations from the norm.

It is impossible to imagine such a situation with a neural network; its result will be correct within the framework of the available data and the task at hand. It’s not a fact that it’s the most effective, but it’s correct.

One would think that this would be a problem, but such luck rarely overtakes people. And now this happens even less often than before. Although small, a person has a chance to replay neurons here.

  1. A neural network cannot go beyond the scope of the task.

For human developers, this kind of willfulness allows them to solve a problem using an unexpectedly effective method. But – again – not many people are willing to go above and beyond their responsibilities by doing extra work.

Most coders will not deviate from the text of the assignment, using the data and requirements available for this. Therefore, I would not consider this a disadvantage of the neuron.

  1. Responsibility .

ChatGPT cannot consciously accept the consequences of its choices. The neuron also does not know how to be responsible for actions, which is the basis for making decisions and taking actions that directly or indirectly affect the result. The network selects the solution with the maximum weight, that is, the correct one.

Everything is true, but here we are forced to remember about good developers who are aware of their responsibility and are personally responsible for the result. Many people simply write code, try to minimize risks, avoid complex decisions, for example, even refactoring key components, in fact accumulating technical debt.

  1. Creativity .

The neural network performs the task purely technically.

What is creativity? We can think about inventions again. Without delving into the question, it may seem that Elon Musk has invented a reusable spacecraft or an electric car. Actually this is not true.

People often invent something based on an existing idea, optimizing, improving and applying new technologies to something that was invented before them. Musk’s teams acted in a similar way: before him, the American shuttles and the Soviet Buran were able to return from space, and the first electric cars appeared at the beginning of the last century. These solutions were very different from what SpaceX and Tesla were doing, but functionally did the same thing.

This is essentially what ChatGPT does. Given enough information, a neural network can do such things without any problems.

Product Engineering. This concept includes: an obsession with creating value, full ownership of the product and associated processes, understanding the big picture, the ability to think not in terms of a specific task, but to see where and what can be improved in terms of the final result.

But this is no longer entirely about the technical skills of the developer, but about the possession of general problem-solving skills, broad technological expertise, the ability to ask questions and analyze the situation outside the technological space. But here it is still difficult to figure out how and on what basis networks can work. And here the person is still the main owner of the role.

Will neural networks replace us?

A human specialist has excellent command of technology and is an excellent team player. But there are not very many such developers. This means that to solve most corporate problems in terms of development, the capabilities of a neural network are quite sufficient.

I think that in the process of evolution, AI will still be able to compete on an equal footing with a human specialist. The latter needs to constantly develop in order to become a really good, strong professional. Evolve as a specialist, gain new knowledge and skills, write really good code, understand what this program will serve and what problems and tasks it should solve. Then it will be difficult to replace a living employee with a neural network.

If neural networks help with solving routine issues, leaving programmers with interesting tasks that they can work on with pleasure, this can hardly be called a worsening situation for us developers.