Laurent - stock.adobe.com
The rise of Generative AI in software development
Paulo Rosado, founder and CEO of Outsystems discuss how AI is changing the work of software developers and how developers can prepare for it
Generative AI and large language models (LLMs) aren't completely new technologies, but the world reached a greater awareness of their powers when OpenAI presented ChatGPT. Its surprisingly human-like capabilities fascinated the public but also brought concerns such as the dangers of misinformation, its potential for bias, and even the possibility of machines replacing people in jobs – including software developers.
Indeed, AI-assisted software development has recently exploded, joining other technologies that have been used for years and are aimed at increasing developer productivity. In the past, using tools like low-code platforms to automate and speed up software development was met with suspicion. Some people deemed it not scalable, too simplistic, or not powerful enough for building enterprise systems. Myths I've been debunking throughout the years and that now, Gen AI is helping to break. Today, and partially thanks to ChatGPT, there's a general agreement that automation helps developers do better at their job.
I expect many more people to start using these tools to speed up projects, from LLMs that generate code snippets, to highly complex low-code solutions that abstract the entire software development lifecycle. However, this does not mean AI will obliterate the software development job market. According to the US Bureau of Labor Statistics, the overall employment of software developers, quality assurance analysts, and testers is projected to grow 25 percent from 2021 to 2031 – much faster than the average for all occupations in the US. The gap between organizations that need software to innovate and the number of developers to help them remains huge.
Therefore, Gen AI will not put developers out of their jobs. Instead, it will help them accomplish much more in less time, as it takes a serious hit on the blank canvases and writer's blocks of the world. Teams will be able to start a lot faster and, with the help of artificial mentors, overcome barriers that previously caused projects to stall – as long as they're ready to learn and adapt.
Seeing under the hood
However enticing the AI promise is, the technology also brings new challenges. The first pertains to trust. When using Gen AI to assist traditional coding, developers will want to ensure the generated code is secure and remains performant. If they're using AI tools to create relatively small amounts of code, they may be able to stay in control. However, Gen AI is (for now) a pretty non-deterministic solution – its answers vary according to specific contexts and prompts, which introduces levels of unpredictability that requires the oversight of a coding expert to evaluate the suggestions and adapt them to the context.
Also, software development is inherently an iterative process – what is delivered today will require changes tomorrow. Even if a company is comfortable with some level of uncertainty and trusts the AI to continue to produce code, as it starts generating more and more, it will be harder for developers to understand the entirety of what it's doing – they will end up with code that is unmanageable. So, teams need to have visibility and governance over the code the AI creates. Someone will have to be able to understand it because, eventually, they will have to change it, which brings me to the inescapable issue of technical debt.
How to minimise technical debt
AI is accelerating the process of going from zero to one – it jumpstarts innovation, releasing developers from the need to start from scratch. But the 1 to n problem remains – they start faster but will quickly have to deal with issues like security, governance, code quality, and managing the entire application lifecycle. The largest cost of an application isn't creating it – it's maintaining it, adapting it, and ensuring it will last. And if organisations were already struggling with tech debt (code left behind by developers who quit, vendors who sunset apps and create monstrous workloads to take care of) now they'll also have to handle massive amounts of AI-generated code that their developers may or may not understand.
As tempting as it may be for CIOs to assume they can train teams on how to prompt AI and use it to get any answers they need, it might be more efficient to invest in technologies that help you leverage Gen AI in ways that you can actually see, control and trust. This is why I believe that in the future, fundamentally, everything will be delivered on top of AI-powered low-code platforms. They support real-time, visual representations of app changes and make testing, staging, and monitoring applications much more efficient.
While it is certain that AI will compress innovation cycles inside organisations, the question remains: how far can they go? There are several ways to compress DevOps and release developers of burdening tasks so they can focus on more interesting work. Still, the technology that will generate the most significant acceleration leaps without compromising developers' and IT leaders' trust will win the race. And I believe this to be a combination of AI, low-code, and human creativity.
Paulo Rosado founded OutSystems in 2001.
Read more about Generative AI
- While artificial intelligence will not live up to its name any time soon, mass adoption of large language models, whether by customers or in-house, requires thinking about by enterprise IT leaders
- We look at how generative artificial intelligence is being deployed to automate monitoring of repetitive tasks and report on enterprise storage and backup