People can now pump out code on demand in an abundance of languages, from Java to Python. along with helpful recommendations. Already, 95% of developers in a recent survey from Sourcegraph report they use Copilot, ChatGPT, and other gen AI tools this way.
But auto-generating new code only addresses part of the problem in enterprises that already maintain unwieldy codebases, and require high levels of cohesion, accountability, and security.
For starters, security and quality assurance tasks associated with software jobs aren’t going to go away anytime soon. “For programmers and software engineers, ChatGPT and other large language models help create code in almost any language,” says Andy Thurai, analyst with Constellation Research, before talking about security concerns.
“However, most of the code that is generated is security-vulnerable and might not pass enterprise-grade code. So, while AI can help accelerate coding, care should be taken to analyze the code, find vulnerabilities, and fix it, which would take away some of the productivity increase that AI vendors tout about.”
Then there’s code sprawl. An analogy to the rollout of generate AI in coding is the introduction of cloud computing, which seemed to simplify application acquisition when first rolled out, and now means a tangle of services to be managed.
The relative ease of generating code via AI will contribute to an ever-expanding codebase — what the Sourcegraph survey authors refer to as “Big Code”. A majority of the 500 developers in the survey are concerned about managing all this new code, along with code sprawl, and its contribution to technical debt. Even before generative AI, close to eight in 10 say their codebase grew five times over the last three years, and a similar number struggle with understanding existing code generated by others.
So, the productivity prospects for generative AI in programming are a mixed bag. For IT teams at the maintenance and support end of software, AI likely helps more than complicates, Thurai points out. “AI can also impact incident responders, site reliability engineers, and support personnel,” he says.
“In their case, they can use AI to find out any precedence, how it was fixed, whether it can be automated so it won’t happen again, and help with automating some of the mundane fixes to avoid constant alerting and wasting many hours in fixing things that are rudimentary. For customer service folks, it can help personalize service for individuals based on their needs, problems they faced, and the impact that was created.”
Faster delivery of code also brings greater expectations from the business for applications that adapt more readily to changing requirements. “We are evolving toward a modeling-based approach and away from coding based on if-then-else rules,” says Preeti Lobo, practice director for business integration and automation at Apps Associates .
“Today, applications need to be more intuitive and built with the individual user in mind versus a generic experience for all. Generative AI is already enabling this level of personalization, and most of the coding in the future will be developed by AI.”
Still, humans are required at key points in the loop to assure quality and business alignment. “Traditional developers will be relied upon to curate the training data that AI models use and will examine any discrepancies or anomalies,” Lobo adds.
The rise of AI-assisted code development also requires that technology managers and professionals assume more expansive roles within the business side. “IT pros can be expected to wear a number of new hats,” says Lobo.
This growth in responsibility includes roles such as “ethical AI trainer, machine language engineer, data scientist, AI strategist and consultant, and quality assurance,” she says. In addition, technology professionals will need to engage in “creating AI strategic roadmaps, as well as identifying anomalies in data structures and results.”
Generative AI also puts natural language processing (NLP) front and center, Lobo says. “Professionals should aim to master programming languages like Python, Java, and C++, and learn more about libraries and frameworks such as NumPy, Keras, TensorFlow, Matplotlib, and Seaborn,” she says.
“But they should also look to hone strong analytical, problem solving, and critical thinking skills, as well as linguistics. Skills such as these can help exponentially in the world of NLP, a foundational factor when working with AI.”
Another additional role technology professionals are assuming is coaching and supporting more people in developing and deploying their own apps. “In the past, the art of possible was limited because of the technical limitations or by the limitations of the IT departments,” says Thurai.
“Now, the sky is the limit. Anyone can figure out a way to improve either the top or bottom line of any business, which can be implemented using AI to improve the business as they imagined in a faster pace than you imagined.”