Generative AI means more productivity, and a likely retrenchment for software developers

AI robot working

Yuichiro Chino/Getty Images

The industry is abuzz about the power generative artificial intelligence platforms (such as ChatGPT) are bringing to the software development profession. “For many developers, generative AI will become the most valuable coding partner they will ever know,” a recent report out of KMPG gushed. 

What are the implications of this latest breakthrough in democratized AI? Will it begin to replace programming itself? Or will it finally help overworked and stressed IT professionals abstract the more mundane aspects of their jobs away and help them focus on bigger problems more relevant to their businesses? 

Also: I tested Google Bard's new coding skills. It didn't go well

The current verdict from industry observers: So far, so good. But there are mixed reactions when it comes to whether it will help developers succeed or displace many of their roles. It could even serve to smooth the way to application modernization. 

“Generative AI is dramatically transforming the way developers approach their roles, ushering in nothing short of a revolution in productivity,” says Joe Welch, principal and technology leader of Launch Consulting, a division of The Planet Group. “By incorporating GitHub Copilot into VS Code for a recent project, we saw programmers reduce ten-minute tasks, such as writing a small function, down to the 30 seconds it took to simply write out a comment that explains the function. The actual code for the functions is written by Copilot, and often these functions will work out-of-the-box without any need for changes. It's hard to understate the game changer this is.” 

Also: These are the most in-demand tech roles in 2023

Generative AI tools such as ChatGPT “are built on large language models that can perform complex reasoning, deduction, and creativity,” says Duncan Angove, CEO at Blue Yonder. “At its core, programming is also a language, which makes it a perfect task for generative AI to take on.”

Generative AI models “trained against the vast expanse of open-source code available on the internet are already explaining poorly documented code, generating documentation for code, and even writing functions or relatively targeted pieces of code, all with minimal direction from humans,” the KPMG report observes. 

Also: Generative AI is changing your technology career path. What to know

For his part, Angove foresees actual programming roles diminishing, and more business-focused developers assembling the capabilities they require for particular applications. As the technology evolves, “I believe human programming skills will fade in necessity, and eventually be replaced with human-prompt engineers,” he predicts. “Business analysts and product managers will be the new prompt engineers, translating business needs into prompts that generate the code we need. In the short term, we will also still need programmers to quality check the code, but over time that, too, will fade.”

A potential showstopper for the actual generation of code — versus helping developers be more productive in doing so — are the legal implications of freely using code that is essentially designed elsewhere. “Intellectual property issues around generative AI remain unresolved,” the KPMG authors caution. “These models are trained on open-source code, with many different types of licenses, and it remains to be seen what will happen if software they generate is deemed too similar to open-source code.” 

Also: Okay, so ChatGPT just debugged my code. For real

While it's highly debatable what kind of retrenchment there will be for developer roles, Launch's Welch foresees many positive impacts on developers' abilities to deliver results far more quickly and expediently for their ever-demanding businesses:  

  • As a recommendation engine: An important benefit will be “integrating AI recommendations into the code development process or providing AI recommendations on code check-in,” he states. “GitHub Copilot is a great example of this and provides recommendations and suggestions as developers type. Developers can also indicate that code that they are trying to write in a specially formatted comment and Copilot will provide a sample implementation of that function.”
  • Creating documentation for existing code to help new developers onboard. “We have used AI to provide top-level summaries of sub-systems and then more detailed descriptions of individual modules,” says Welch. “After reading these overviews, the developers can then interact directly with the AI chatbot to ask detailed questions about the use-specific functions or sections of code. This can greatly reduce the overall time it takes to understand a new codebase.”
  • Updating deprecated libraries.  “One of our ongoing challenges is to keep third-party libraries updated to supported versions in accordance with the appropriate security guidelines,” says Welch. “Often, it is unclear the level of risk in upgrading these libraries. Generative AI is great at predicting the overall effort, identifying specific code patterns which need to be modified, and helping to ensure that these libraries and frameworks are kept up to date with the least amount of effort and business risk possible.”  
  • Migrating applications from legacy languages.  “AI can greatly ease the migration of a large codebase from an older language such as Cobol into a more modern language such as Java or C#,” says Welch. “These migrations can often be challenging as they require developers who are fluent in both the older language and the newer language.”  

Also: This new technology could blow away GPT-4 and everything like it

Ultimately, opportunities for developers and other IT professionals will be abundant in “things that can't be easily copied or taught,” Angove predicts. “Think about what LLMs can't do, and do that. The value of fresh thinking also becomes even more valuable. Develop skills that help build the tools — LLMs themselves — versus the now-free applications.”

Source