AI code generation is one of the standout advancements in the generative AI space, with tangible benefits for the efficiency and bottom line of companies that adopt it. But leaders will differ in the extent to which they feel comfortable becoming reliant on AI coding tools over the insights of skilled developers.
The allure of AI-driven code generation lies in its ability to accelerate the software development lifecycle, offering rapid prototyping, bug detection, and even code optimization. With natural language processing (NLP) and machine learning (ML) advances, AI models can understand human requirements and translate them into functional code.
This capability can potentially democratize software development, lowering barriers to entry and empowering individuals and organizations to create sophisticated applications with minimal coding expertise. But there are still questions surrounding how far this productivity boost can be stretched and what negative impact it could have on the job market for those with coding skills that AI could devalue.
Experts in the space aren’t sure if AI can ever truly replicate human developers’ nuanced decision-making and intuitive problem-solving skills and if so, what the implications for employment in the tech industry would be.
In addition, questions over who bears responsibility for code generated by AI systems will have to be answered especially in cases of unintentional errors or algorithmic biases.
AI code generation can internal ease pressures
It’s clear that the returns on AI coding tools have piqued the interest of leaders at many firms. Over a third (37%) of code generated over the next three years will have an AI component, according to research from Capgemini, while GitHub claims that GitHub Copilot users already accept around 30% of the tool’s coding suggestions.
As businesses look to their post-pandemic futures and re-drawing their digital transformation roadmaps, they are also forced to contend with the fact that they must be agile and able to bring new products to market at breakneck speed. Code generated with AI can be a fundamental accelerant in achieving these goals and many developers are already under pressure to meet internal deadlines and often use code from well-established libraries to increase their efficiency.
But adoption of AI coding tools will also have to be grounded in internal AI policies, to ensure developers are still rigorously checking code and to prevent leaders from losing track of AI use within their teams, a phenomenon often dubbed ‘shadow AI’.
There’s a subtle but crucial difference between actively seeking out AI code generation for improved productivity and becoming reliant on it to meet deadlines. It’s only logical to outsource some coding workload to AI coding tools, which can produce code based on vast training data in all of the top programming languages. But developer teams must still take care to unpick and understand code that’s been produced by an AI coding tool – and its lineage – before implementation.
AI-generated code comes with a number of limitations. At present, a range of technical limitations hold AI tools back. AI hallucinations, in which large language models (LLMs) produce outputs with little for no factual basis, are concerning from a coding perspective as they can introduce flawed code that could cause major issues if overlooked. Experts have expressed concern over junior developers accepting low-quality code suggestions which could prove hard to maintain down the line.
With this in mind Peter Wood, chief technical officer at Spectrum Search, tells ITPro that he believes AI is a tool that will support rather than replace human devs: “The integration of generative AI into software development is more about transformation than displacement,” he says. “Generative AI tools are poised to automate repetitive and mundane tasks, allowing developers to focus on more complex, innovative, and value-added activities. This shift will likely result in an evolution of the job market where the demand for developers with skills in overseeing, integrating, and working alongside AI tools increases.”
It’s an age-old problem of garbage in, garbage out, explains Wood: “This issue necessitates meticulous data management and validation processes to ensure that AI systems produce reliable and accurate results. Another significant challenge is AI hallucinations, which generate incorrect or nonsensical information. Addressing these limitations requires ongoing human oversight and sophisticated error-checking mechanisms.”
Chasing autonomous development
The promise of totally autonomous code-generating experiments has been around in the tech sector for some time, having started with demonstrations that today seem commonplace. In 2015, Andrej Karpathy, a former Stanford Computer Science student and now director of AI at Tesla, used a neural network trained with an extensive Linux code repository to generate a program that used sophisticated parameters functions and even included comments. Four years later, MIT’s SketchAdapt created short pieces of high-level code and paved the way for LLMs as we know them today.
Recent generative AI developments have brought this idea further forward, but humans are still an integral part of the mix and no developer is publicly letting an AI model handle coding unsupervised. It’s no surprise that Microsoft calls its assistant Copilot, an apt description of how developers are encouraged to use this system to speed up coding tasks with AI-generated snippets and efficiency suggestions.
“We’re at the precipice of a significant technology revolution,” says Maynard Williams, managing director at Accenture in the UK and Ireland. “We saw it in the shift to [software as a service (SaaS)] in the 2000s, and the power of cloud in the 2010s. With generative AI, efficiency is the next powerful transformation, and it will yield benefits in different dimensions of software engineering compared to previous stages.”
With recent reports indicating that skilled workers will lose the most to AI and public comments by IBM CEO Arvind Krishna that AI will allow companies to do more work with fewer workers, some developers have expressed concerns about being altogether replaced by AI down the line. But experts have downplayed these concerns.
“I appeal to business leaders not to be afraid to communicate this rapidly evolving environment to their employees and to give them enough space to evolve as well because an educated workforce is going to become a key aspect in productivity measures,” Jan Hauser, founder of Applifting tells ITPro. “Most of the software developers I know are naturally curious people and are already experimenting with the AI tools available now. We cannot forget about fostering creativity and new ideas in the next generations from a young age.”
In the same way that businesses have continued to shift towards low-code or no-code application development in a bid to reduce cost and accelerate time to market, AI-based development tools could also be embraced.
“Low-code and no-code tools and generative AI programming tools are complementary,” says Dave Colwell, VP of AI and ML at Tricentis. “How well generative AI is used on low and no-code platforms depends on how ‘human-like’ a request is. For example, when instructing generative AI to write SQL statements, giving it input and output data alone would result in a bad outcome. On the other hand, if the problem is explained in human terms such as, ‘Show the strongest leads in our database from the last six months’, then the machine can understand the problem and express it in a specific way, writing the SQL query.”
While AI code generation holds promise for revolutionizing software development, it is unlikely to replace human developers entirely. Instead, it should be viewed as a valuable tool that complements the skills and expertise of human developers.
By leveraging AI to automate repetitive tasks, enhance productivity, and uncover innovative solutions, human developers can focus on higher-level tasks that require creativity, critical thinking, and human empathy. Ultimately, the goal should be to harness the power of AI to empower human developers and create functional, efficient but also ethical, and inclusive software.