Periklis Ntanasis:
Master's Touch

fade out

The future of programming in the AI era

2023 is undoubtedly the year of AI. Decades of research in the field have been put into products that became mainstream such as ChatGPT. All the big players are running to get a piece of the pie. It is a new kind of gold fever.

While the future of AI seems bright there is still much skepticism about what this will bring to the future. This also brings the dreadful question "Will software engineers lose their jobs because of AI"? A thought that doesn’t seem so uncommon.

In this article I am going to talk to you about how I think AI will affect programming in the upcoming years. I am getting a bit late to the party. There are many articles on the internet that already discuss this topic. However, I felt I needed to share my thoughts about this. It is mostly speculative but I hope you will enjoy it.

The essence of programming

There have been numerous programming languages over the years. There are generic languages build to tackle any kind of problem and domain specific languages that are better for specific tasks.

Most general purpose languages are Turing complete and this means that they are equivalent. This brings the question, why do we need so many languages? Why don’t we have only one language that will do everything we want?

The answer is that while the languages are equivalent they are not the same. Two key differences are the following:

  • They differ in expressiveness.

  • Lower level languages are harder to use because they aren’t similar to the human language while higher level languages are closer to the way humans talk and think.

In that sense generative AI can be considered just as another type of programming language. Actually, it may be considered as the most high-level language that transforms the natural language instructions to the desired programming language. Think of it as a kind of transpiler if you like. A human, the programmer, will still have to explain to the AI what it needs to be done.

Of course this is not a one time job. A program will evolve in many ways during its life-cycle and it will need maintenance. The programmer will be necessary for all of this.

Impact of AI on programming

What will change is that programming will be easier. It will be trivial for someone inexperienced or unspecialized to implement an idea and produce an actual program. So, the entry barrier to software development will get lower or even lifted.

Professional developers will be more productive. This is something that already happened in the past with high-level languages, so it is only logical to happen again now. It means that less developers will be required to produce the same amount of work.

Finally, this probably will increase code quality. Software will have less bugs and this will make it easier to maintain. Code quality affects productivity too.

Job security

As you can see, it is expected programming to become easier but it is unlikely to become fully automated. Programmers will have to adapt to a new way of working but this is something common for the field. New technologies appear all the time and aqcuiring new skills is already an essential part of the job.

Furthermore, there are other less technical factors that we should take into account.

AI adaptation

Changes take time. My estimation is that generative AI will start to be used as a tool to help programmers and people in general to perform their day to day tasks. We already see many applications towards this direction. Eventually, we will come to the point where we will be able to develop a product by expressing all the requirements in a natural language but this will take time to become production ready.

This change will be adopted first by the big players. All the other will follow on their own pace.

There will be a couple of decades until this becomes industry standard.

Consider for example two programming languages that most of us consider dead, Fortran and COBOL. Fortan was first released in 1957 and the latest stable release was in 2018 while COBOL was released in 1959 and the latest stable release was in 2023! If you search for job postings you will find that there is still demand for both of them!

Another example is about Java which is a modern and popular language. The latest release is 21. However, in 2022 version 8 released in 2014 owns the 46.45% of the total usage.

You see that for a number of reasons adoption of new technologies in the industry is slow. Big tech companies are always the early adopters and the ones who actually drive the field but for the rest of the world keeping up with the changes is not so easy.

Some reasons about smaller companies not being able to keep up are:

  • Uncertainty that the investment to a new technology will pay off

  • Lack of experienced people who can lead the transformation

  • Licencing or other costs that make a new technology unapproachable

  • Effort to migrate existing/legacy projects is too high and make such an endeavor unattractive

This is why I beleive that it will take us a couple of decades until AI becomes industry standard.

The human factor

Another point worth mentioning is that even if we get to the point where we may develop an application in natural language and we could have only business analysts that gather requirements and feed them to AI, eliminating the programmers altogether is unlikely.

The is a variaty of reasons this is not feasible.

  1. Someone has to be accountable for the quality of the outcome. When programmers are writing code it is a common practice to review it for issues. Somenone has to be able to review the AI generated code and this person has to be able to write such a code in order to be able to review it.

  2. Maintainance and support. Failures will happen. At the time a critical system fails it will be very difficult to handle the incident without any human at all. What if the crash is so big that the AI assistant isn’t working too? Having capable human engineers involved will be irreplaceable.

  3. Copyright issues and code diversity. Generative AI creates new code based on a dataset it was trained on. At first there will be copyright issues which eventually will be handled by techniques similar to code obfuscation or data anonymization. However, AI generated code will still be similar in nature. The lack of diversity will decrease the software resiliency to flaws and bugs.

  4. Special kind of problems. There is a niche where a problem is very unique, a new algorithm has to be designed or there is a very specific and uncommon performance constraint. The generatibe AI will not be able to handle this kind of issues where truly original work is required. Specialists will always be in demand to tackle the hard problems.

The rest of the IT professions

Until now I talked only about software engineers but I truly believe that the same applies for most of the IT field and probably in many other professions that feel threatened by AI.

Everyone will have to adopt to a new way of working where AI will be the catalyst for reaching new levels of productivity. Eliminating the human factor at all does not seem so simple at this point.

The inevitable change

Mankind through the centuries has faced many groundbreaking discoveries that changed the way we think and work. It is expected some professions that exist today to be obsolete in the future and other professions that we can’t even imagine will be very popular.

I don’t really believe that the demand for human workers will be significantly decreased. In the industrial revolution there were similar fears but eventually the demand for workers was increased and the standard of living was improved(1. 2, 3).

I don’t want to sugarcoat things. Every change has winners and losers. I don’t think however that technology is good or bad. AI was prophetized in popular fiction many decades now and I believe that it is up to us as a society to make the best out of it and remind to the companies that investing on it that it is something that impacts everyone.

Epilogue

Generative AI is not something new. Now it has matured enough and we are able to see its application everywhere.

Eventually this will affect the way we work and live. Change and adoption needs time though. Only few pioneer companies will get affected for the next few years. Most companies will adopt it gradually and we need many years until it re-shapes the field.

Today’s IT professionals don’t have to fear for their jobs. They will need to adapt to new ways of working but replacing professionals with AI is an exercise for the very distant future. Even then, it is most probable that new jobs that we can’t predict at the moment will emerge.

I hope my predictions to prove accurate. Please, let me know if you have any different thought on the matter!

Comments

fade out