The new generative AI landscape: the code
After observing the rapid evolution of the generative AI market (previous post), then the uses that will transform processes and challenge the added value of humans compared to AI, we discuss with this post the upcoming revolution for computer code.
Indeed, humans have abandoned the machine language of processors for a long time and write their programs in advanced languages, so that they are easily readable, structured and understandable by humans. However, one ability of generative AI is precisely to be able to create texts understandable by humans, and it also works with the writing of computer programs.
So just like Wikipedia served as a learning base to access the knowledge of the World, the open computer code (open source), was also used to create LLMs that model all the knowledge of computer programs already written. Thus, a generative AI, using such a model, can statistically predict the next most likely instruction, as it generates a text that makes sense to a human. And we suspect that for some things like not forgetting to close a parenthesis that has been opened three lines before, the machine is better than the human 😉
Does this mean that developers are going to be replaced by generative Ais?
GreenSI rather, think of an evolution of the developer profession, as it has always evolved since the first desktops on the mainframes of the 50s, which by the way were as much men as women, which is far from being the case currently. To take up the image of the video game and the levels of the game to be crossed one by one, this New York poster suggests that if the AI takes their job, it is so that they evolve to the next level!
This is not the first time that we have announced the end of the developers. But the development of “no-code”, or even “low-code”, in recent years, has not materialized by a massive reduction in the number of developers in the employment figures, in this sector in tension.
On the contrary, a sign that something is happening, since the appearance of generative AI, a very prominent low code software platform founded 10 years ago, Airtable, announced, last week, to lay off 1/4 of its workforce (more than 250 people) and this is the second time since in December 2022 such an announcement had been made for an equivalent workforce. And this despite a fundraising of more than $ 700 million last year. We are therefore entitled to think that the development plans of this leader have been revised downwards and that his economic model around the no-code is shaken up.
The understanding of GreenSI is that the “no code” was in the last 10 years a “Minimum Viable Product” which cleared the ability to quickly develop applications directly with “non-computer scientists”. The uses for simple applications (form entry) or with a short lifespan have demonstrated the validity of this approach. On the other hand, it now seems relatively clear that no-code will not replace the majority of applications, because at least three pitfalls have not been overcome :
- The proprietary side of the final application which requires the engine of the editor of the no-code platform to run, which poses a sustainability risk, security and above all recurring costs. The initial costs of no-code are certainly lower than an equivalent specific development, but over time, this advantage is not guaranteed and adds hidden costs.
- The maintenance of these applications, because these non-computer scientists have other tasks in the company and do not make no-code their career, so they quickly abandon “their babies”. This is when a governance and a central team is set up, continuing to increase hidden costs, sometimes to maintain simple forms without much business value for the company.
- The quality and security of the code depend on the platform, and not all of them comply with the standards that can be required for professional use.
The business model of these platforms is challenged by generative AI.
The code generated by an AI is not proprietary, if it is of better quality, its maintenance costs will be reduced and if the productivity of software engineering increases, the deadlines will be reduced. Not only can this impact their income, but it will also require new investments to adapt to this change, and reassure their customers that they have a future.
Indeed, generative AI offers possibilities to automate and improve the software development process. It has the potential to give developers more efficiency and productivity, therefore to promote a more “better-code” model than “no-code”.
The tasks that are most suitable to be left to generative Ais concern the creation of pieces of code targeted at easily descriptible functionalities, which is close to the scope of no-code. On the other hand, we can also add the analysis and correction of code written by a human, automatic documentation to improve readability or quality verification. There, the AI exceeds the services provided by the no-code which is an alternative to the developer and not a complement.
We can also imagine a generative AI that adds to the human code, which humans don’t always like to do (or don’t always have time to do). For example, integrate automatic unit tests from the outset and strengthen security by applying the planned standards. These tasks would have been done, but later on the DevOps chain. Thus, we can test in a unit way and deliver a code of higher quality, faster.
AI can also help to quickly create functional prototypes, which can be especially useful in agile methodologies. This reduces the interest of no-code platforms that are sometimes used for this. We can therefore guess that they will integrate generative AI to remain attractive, but for this, they will have to leave a place for the developer and evolve towards low-code.
With such possibilities, we then imagine generative AI becoming a virtual assistant for developers to do “peer-programming”, that is, from the two-person code review with a colleague.
We already do this with regular code reviews by “lead dev” in a team, but it requires resources. This virtual assistant will therefore play on the overall productivity of the team. And then, since it has the ubiquity factor, we will be able to get suggestions constantly, as if we had this “lead dev” always over our shoulder. In the context of the widespread teleworking that has developed and in which developers spend less time together in the same office, we can see the benefit of this virtual companion available everywhere and for the whole team.
Another area where generative AI brings value is its ability to switch from one computer language to another, as it does with languages for texts. Thus, a very good Cobol developer can become a good Python developer, by thinking in Cobol and asking the AI to translate it into Python!
But generative AI does not currently make it possible to manage complex developments that require a deep understanding of the business context. It is therefore productivity and new modes of collaboration that we must look for, and not replacement which remains a chimera.
Thus, for GreenSI, more than a threat, generative AI will ask developers to focus more on higher-level tasks. They will have to pilot the tools integrating generative AI for the production of more targeted, better quality code.
More generally, on the software engineering cycle, AI will transform the design and development of digital products. First with these developers “augmented” by their virtual coach, but also by improvements in the automation of the code workflow, up to production (DevOps). The objective is to increase the quality of the software and shorten the deadlines. As we like to remind you, with the digital transformation, all companies are becoming “software companies” and the use of generative AI will give a competitive advantage to those who will adopt it for their code factory.
There is no doubt that these tools will increase the productivity of developers and will be adopted quickly by those whose business model directly depends on this productivity. These are, for example, freelancers and service companies who commit to packages. For corporate developers, it is the impulse of the Management which wants to strengthen its competitive advantage which will be the driving force.
Generative AI is not a technological project, but a project of profound transformation of the company, its processes and the tasks of its employees. In the case of the code and its production process, it is a project that concerns the core of the IT Department’s activities.