Person working with AI software development

Jacob Wackerhausen/Getty Images

The role of a software developer is in transition — and it’s all due to the impact of artificial intelligence (AI). It’s now clear that generative AI models and assistants, such as OpenAI’s GPT-4 and Microsoft’s Copilot, are adept at churning out code almost instantly in any language, for any purpose. 

This tech-enabled capability means software developers will face retrenchment. The key debate, right now, is “how much?”

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. 

Also: AI at the edge: Fast times ahead for 5G and the Internet of Things

“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.”  

While generative AI tools might replace a lot of the head-down grunt work of developers, the rise of these technologies also opens opportunities for elevating their roles within their organizations. In short, retrenchment in an age of AI and automation might be no bad thing — and might lead to new, more interesting roles.

Also: Uh oh, now AI is better than you at prompt engineering

Right now, the industry is abuzz with the power and productivity that generative AI platforms are bringing to the software development profession. “For many developers, generative AI will become the most valuable coding partner they will ever know,” according to a report from consultant KMPG. The technology may 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.

At a basic level, it means the ability to deliver on greater volumes of project work. The increasing use of AI will “make developers more fungible across frameworks, platforms, products, and systems of record,” the KPMG report authors indicate. “Generative AI will provide the scaffolding and guidance they need to work on a wider range of projects than they would normally be able to handle.”

Also: Want a job in AI? These are the skills you need 

But a rise in productivity is just the starting point when it comes to the future impact of AI and automation on jobs. The increased adoption of generative AI will also mean developers are expected to act in a higher-level role, pulling AI-delivered resources together to map to the requirements of the business. “What will become increasingly important is for developers to be able to clearly articulate how they want a piece of code to perform,” says Mahesh Saptharishi, chief technology officer for Motorola Solutions.

“A good user story should feed AI the right information to get to a desired answer, while knowing how to ask questions and test results,” says Saptharishi. “As the speed of translating a user story to a feature or a product increases, agile methodologies will need to adapt. In many ways, descriptions of what software should do in the form of user stories might become the new code.” 

This shift in emphasis will lead to a retrenchment that means actual programming roles will diminish, and more business-focused developers will be focused on 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,” Duncan Angove, CEO at Blue Yonder, predicts. 

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.”

Also: Six skills you need to become an AI prompt engineer

Of course, some sense of perspective on the scale of this retrenchment is also crucial. Developers won’t be using AI to write entire applications overnight, says Saptharishi: “AI will help developers do their jobs faster, and make fewer mistakes, and over time, AI will play a larger role in app development. In a more AI-intensive environment, IT professionals’ creativity, problem-solving skills, and ability to train and explain concepts to others will still play a key role in their success.”

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 the 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

But let’s be clear: the retrenchment in software development roles in an age of AI and automation is already underway. 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 large language models 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 link