Will the developer profession be needed in five years?

Spoiler

yes, but she will change a lot

In 2004, the film “I, Robot” was released, which gained memes. One of the key episodes of the film – scenewhere a robot is asked if it can write a symphony or create some kind of masterpiece. The robot replies: “And you?” Today, artificial intelligence draws magazine covers, composes music, and writes books. What's going on? I propose to discuss how the activities of software developers will change in the coming years due to the widespread use of AI.

It seems no coincidence that unmanned trucks are being released on the roads in Russia, and Yandex is increasing the production of delivery robots. According to Avito Works, truck drivers and couriers top the rankings of the highest paid working specialties, and AI has come for their piece of the pie

My name is Alexandra Murzina, I am a consultant on ML technologies at Positive Technologies, and my task is to automate information security processes using machine learning. Sometimes I talk about it I'm telling you from the stage.

Five years ago, I was almost taken for a city madwoman when I spoke about the possible replacement of people in some areas of information security with artificial intelligence. With the advent of LLM, such forecasts no longer seem like nonsense. Colleagues even ask me not to automate their work too quickly.

When it all started

The evolution of assistants in software development

The evolution of assistants in software development

One of the first significant assistive technologies for programmers was the Emacs text editor, introduced in 1979, a pioneer among tools for automating routine development tasks. In one program you could edit code, compile and debug.

In 1997, Microsoft released IntelliSense, a technology that made writing code much easier: the system analyzes code in real time and suggests possible line continuations to the developer.

In 2005, the Git version control system entered the market, which made it possible to track changes in code and manage different versions of projects, and a little earlier they developed the Agile approach. All this contributed to improving interaction within teams, but attempts to automate development for a long time ended in nothing.

Failed projects before GenAI

In 2015, solutions claiming to be copilot for developers have already appeared. You might think of Microsoft's IntelliCode or the more advanced Kite helper for Visual Studio Code. They performed much worse than expected. The creators of such systems found themselves in a technological dead end: it was impossible to make a good solution for automating code writing at that time. Many developers first encountered digital assistants then – and now, when they hear about new ones, they don’t want to use them, remembering past bad experiences.

The unsuccessful work of such assistants as DeepCode, Kite, and early versions of Tabnine and IntelliCode created the impression that the AI ​​is not even junior-grade

The unsuccessful work of such assistants as DeepCode, Kite, and early versions of Tabnine and IntelliCode created the impression that the AI ​​is not even junior-grade

As a result:
AI disappointed the developers. But then GenAI came.

A Brief History of Large Language Models

A breakthrough in machine learning occurred in 2017 thanks to researchers from Google Brain. They invented transformer — architecture of deep neural networks based on the attention mechanism without the use of recurrent neural networks. If you remember, there were such recurrent networks – RNN, LSTM and others, developed for machine translation tasks. Researchers wondered: how can this machine translation be improved and made more natural? This is how the architecture of sequence-to-sequence (seq2seq) neural network models appeared – not yet a transformer, but very close.

An important invention was the attention mechanism, attention model, which first significantly improved the quality of machine translation, and then began to be used in other areas. An autoencoder with an attention mechanism is called a transformer. On its basis, BERT appeared – a language model that was already generative, that is, it could generate, and as a result, solve a large number of problems. And on the basis of BERT, essentially a transformer, modern large language models (LLM) appeared. Surely many have already used ChatGPT from OpenAI, Claude from Anthropic, YandexGPT or Neuro from Yandex. Now it seems that the development of these systems cannot be stopped and all this will only develop.

In 2023, the venture fund Sequoia Capital (whose founder was one of the first to invest in shares of Apple, Oracle and Cisco) created a map of development tools, where development stages are marked horizontally, and tools, from classic to using ML, are vertically marked. -technology and fully AI-powered. As you can see in the picture, application deployment and launch so far (at least in 2023) lags behind other development stages.

Map of tools for different stages of software development (more details on the Sequoia website)

Map of tools for different stages of software development (more details – on the Sequoia website)

By what percentage will a programmer be better than himself due to AI?

Today, ML tools are evolving at an incredible rate. But what daily tasks can a developer perform with them? And, most interestingly, do these tools make his life easier?

To answer these questions, we will rely on three studies that are definitely worth reading in the original. If CodeSignal And GitHub conducted surveys of developers, then McKinsey They organized a whole laboratory: they invited developers there and measured their productivity without and using AI tools. Let's look at what, according to analysts, a programmer's job consists of (for convenience, in the article we summarize the results of three studies and present average values).

  • Coding: 25%

  • Testing and Debugging: 20%

  • Code review: 15%

  • Meetings and communication: 20%

  • Documentation: 10%

  • Setting or changing the environment: 10%

The aggregate results of these studies show that the process of writing code when using GitHub Copilot can be accelerated by 55%, testing and debugging will take 30% less time. The productivity of code review will increase by 20–25%, the speed of working with documentation will increase by 20–25%, the time for installing software and setting up the environment will decrease by 10–15%.

Analysis of research results shows that a developer using AI can speed up his work by 20–60%. This is a lot, but still far from confirming the words of Nvidia CEO Jensen Huang: “Don’t teach children to be programmers. Artificial intelligence will replace them all.”

Why such a small percentage?

Developers are still frustrated with modern coding assistants

Reddit user's frustration with copilot

Reddit user's frustration with copilot

Many developers are still wary of modern AI assistants. On the one hand, the reason for this is the memory of the unhelpful “helpers” of past generations. On the other hand, generative assistants still have many disadvantages:

  • AI does not always provide high-quality answers.

  • In large projects it is still difficult to work with context.

  • Security and privacy remain questionable.

  • Not all favorite IDEs are compatible with generative tools.

But there is another important reason why many developers are disappointed in generative assistants: to get a good result, you need to be able to write good prompts.

What difficulties arise with writing prompts:

  • You need to be able to formulate your thoughts. It's really not that simple.

  • Different LLMs may have their own characteristics, and you need to know them.

  • You need to spend time learning how to write prompts and practice.

  • The result is not always ideal right away; often you need to iteratively improve the prompt.

So, to get a good result, you need to write a good prompt – this takes time and skill. And prompt engineering skills are not always the skills that a programmer wants to get right away. A paradox emerges: we would like to take the cognitive load off the developer with these smart assistants, but learning a new skill increases this load. At least until the developer masters it.

Is prompt engineering a skill of the future?

Of course, there are people who are not very interested in generative technologies – and there are those for whom the use of AI is becoming a core skill. First of all, these are students and the younger generation in general, for whom it is now easy to learn new things – the prediction that in five years we will get developers with the basic skill of writing code through assistants no longer looks so unrealistic. And it seems that the industry will have to accept this because there will be no other developers. But other changes are brewing.

Low-code and no-code solutions. Natural language for development

In addition to prompt engineering, other new trends are emerging in development: low-code, no-code and natural language for development. And today almost half of the Y Combinator venture fund hot topics (those that, according to the creators of the fund, as many people as possible should work on) relate to AI and automation of writing code. This means that there will be a lot of such startups: the fact that prompt engineering is becoming an important skill of the future for developers is confirmed by the industry, which is ready to invest in it.

Various questions arise. Will people write code in five years if accelerators are already ready to actively invest in AI? If the AI ​​is so smart, maybe let it write the prompts itself?!

Creators of the system Devinpresented recently, they promise to make an assistant that will be as similar as possible to a person: in case of errors, the system will automatically recompile and regenerate the code, providing feedback. It promises something similar GitHub Copilot Workspaceoffering to generate a solution based on the problem described by the developer. No-code solutions such as Tilda, a website builder, are also interesting: they allow you to create full-fledged web products without writing code. This opens up new opportunities for those who do not have programming skills.

In the spring of 2024, Elon Musk said that artificial intelligence will become smarter than any person in 2025, and by 2029 it will probably be smarter than all people combined. We just have to wait and check these predictions. In my opinion, despite progress, programming skills remain important: they are the ones that help you understand how to properly interact with AI tools. The future lies in the synergy of man and machine.

What conclusions can be drawn

We are on the threshold of a new era in software development. It seems that AI will not replace programmers, but will become their super-powerful partner who will expand the boundaries of what is possible. Just as a symphony orchestra combines the sounds of different instruments to create something greater than the sum of its parts, the union of human intelligence with AI will open up new opportunities for breakthrough solutions.

The developers of the future are not just programmers, but virtuoso conductors of digital orchestras. They will masterfully manage an ensemble of AI tools, low-code platforms and classical programming languages. Their greatest strength will be not so much their ability to write code, but their ability to formulate ideas, solve complex problems, and architect systems that will change the world.

Prompt engineering is evolving into a new form of programming, where words become code and imagination is the main limiter. But even in this new world, a fundamental understanding of software development principles will remain invaluable and will enable the creation of truly innovative solutions.

As we prepare for this exciting future, we must not fear change, but embrace it, constantly learning and adapting. Because ultimately, it is the symbiosis of human creativity and the power of AI that will allow us to write the code of the future—code that will change the world for the better.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *