Gen AI gives software developers surge in productivity - but it's not for everyone

3 hours ago 3
BOOK THIS SPACE FOR AD
ARTICLE AD
versew-dimension-gettyimages-1399264769
Israel Sebastian/Getty Images

For anyone building software, generative AI (Gen AI) -- especially a tool like GitHub Copilot -- is a means to quickly create, test, document, and debug code, which leads to big productivity benefits. 

This boost frees up the time, resources, and brainpower of software developers and operations professionals to step up and fill consultative and leadership roles within their organizations. 

Also: 4 ways to turn generative AI experiments into real business value

However, while the productivity benefits are clear, AI may not benefit everyone, and industry experts advise treading cautiously into automation.

First, some context. Gen AI code-suggestion tools can boost software developer productivity, according to a multi-party study by researchers at Microsoft, MIT, Princeton University, and the University of Pennsylvania. 

The research analyzed the output of 4,867 software developers across three companies, all with access to Copilot, and discovered a 26% productivity increase in the weekly number of completed tasks, along with a 14% increase in the number of code updates, and a 38% increase in the number of times code was compiled.

Other executives and professionals across the industry agreed Gen AI can produce a massive productivity boost for software developers. 

"Gen AI and copilot tools are significantly impacting development velocity," Brett Smith, a distinguished software developer with SAS, told ZDNET. 

"AI can help write boilerplate code, unit tests, and documentation, freeing the developer to accelerate solving the actual solutions. Generative AI has unquestionably revolutionized the game for software development, serving as a pair programmer to developers worldwide."  

Also: Technologist Bruce Schneier on security, society and why we need 'public AI' models

Generative tools can be useful for various development tasks, such as "introducing new features to existing codebases or porting the codebases to new programming languages," said Flavio Villanustre, global chief information security officer at LexisNexis Risk Solutions. 

"These AI tools also help with the software archeology that is necessary to understand poorly documented codebases. Additionally, AI can serve as a helpful resource when test cases must be created -- especially in test-driven software development environments. Last, but not least, AI tools can help identify third-party libraries and frameworks that could be useful in particular projects."

However, it's not all good news -- and the researchers in the Microsoft/MIT/Princeton/UPenn study highlighted one major caveat: the benefits of Gen AI diminish among developers with greater experience. 

"Less-experienced developers showed higher adoption rates and greater productivity gains," they stated. "Copilot significantly raises task completion for more recent hires and those in more junior positions, but not for developers with longer tenure and in more senior positions."

Also: Perplexity AI's new tool makes researching the stock market 'delightful'. Here's how

AI-driven tools "are incredibly useful for less-experienced developers," agreed Edward White, head of growth at beehiiv, a digital newsletter service. 

"They offer real-time suggestions for refactoring and optimization, guiding junior developers through best practices while they code. These tools can identify inefficiencies or repetitive patterns and recommend improvements, making the code cleaner and more efficient. The instant feedback helps developers learn how to write maintainable code, follow proper naming conventions, and use better structures."   

However, despite the focus on less-experienced developers, Smith said long-time professionals can also see the benefits of Gen AI. "In my experience, veteran developers have greatly benefitted from AI assistance," he said. 

"AI is incredibly efficient at writing boilerplate code, and it frees the developer to do the complex bespoke things that AI is not good at. In general, developers with less experience struggle with solving complex problems, and AI is usually unable to help them in that aspect."

Also: The secret to successful digital initiatives is pretty simple, according to Gartner

The evidence from industry experts suggests a balance must be achieved. Whether Gen AI is deployed by experienced or inexperienced developers, IT professionals and executives must be wary of wholesale adoption of these tools in their current incarnations. 

"While the assistant is typically able to write certain common functions, interface reasonably with existing libraries, write test cases, and explain existing code, it does make certain mistakes that a proficient programmer would avoid," said Villanustre. 

"These AI-based tools also have challenges when addressing more complex algorithms and can write code that is unsafe or insecure. In my opinion, current AI tools are commensurate with an entry-level programmer, and still require monitoring by more experienced software professionals."

Smith also said the increased velocity from Gen AI tools is a double-edged sword. "Developers write bad code; AI helps them write bad code faster," he said. 

"The increase in the amount of code a team produces could introduce more bugs and vulnerabilities than normal. This wave of new code can quickly overwhelm testing and security teams. Teams will need to automate checkpoints, testing, and security scanning to keep pace in fighting the evil aspects of generative AI moving forward."

Also: CIOs must also serve as chief AI officers, according to Salesforce survey

The quality of the generated code is also an issue. "AI is only as good as its training," said David Brault, an expert at Mendix. The training data may include "a combination of well-written and substandard code." This mix might lead to code of varying quality and consistency and can even build on technical debt. 

Another challenge with AI-generated code is the risk of incompatibility with existing systems, especially complex or legacy architectures. 

"While AI tools can produce efficient code for specific tasks, they may not always consider the unique dependencies, frameworks, or structures of older systems," White cautioned. 

"This mismatch can lead to problems such as unexpected behavior or even cause disruptions if the AI-generated code is implemented without thorough testing."

Also: Generative AI doesn't have to be a power hog after all 

To reduce these issues, "developers should carefully evaluate the compatibility of AI-generated code with their current infrastructure," White advised. "This includes conducting extensive testing in controlled staging environments and, if needed, customizing the code to fit the particularities of their system."

IT professionals must also be wary of legal issues that can crop up along the way. "Using AI-generated code requires caution regarding duplication, intellectual property, and potential licensing issues," said Mira Nathalea, chief marketing officer of SoftwareHow, a provider of software reviews. 

"Developers and companies should be mindful of the risks associated with unverified code suggestions. There's the risk of unknowingly incorporating code that may not align with the project's licensing requirements, possibly resulting in intellectual property conflicts. Developers should review AI-generated suggestions carefully to maintain code quality and legal compliance."

Also: Gen AI as a software quality tool? Skepticism is fading as more organizations implement it

Software professionals and executives must also carefully manage the ethical concerns that can arise from AI-based code generation. 

"Overlooking ethical considerations can lead to unintended issues, such as privacy risks, data misuse, or biases within algorithms," said Joel Popoff, CEO of Axwell Wallet, a maker of tech-friendly everyday carry items. 

"When AI-generated code isn't carefully evaluated, it may not fully comply with regulations or ethical standards, especially in areas like user privacy and equitable treatment."

Popoff said it's important to implement ethical review procedures tailored to AI-generated code to mitigate such risks. "This includes regularly auditing AI outputs, ensuring that data is handled responsibly, and actively checking for bias in automated decisions," he said. 

"Establishing transparency about how AI processes and uses data helps maintain trust and keeps the development process aligned with ethical principles."

Also: 3 ways to build strong data foundations for AI implementation, according to business leaders

There are, therefore, a range of issues and concerns that must be considered. However, when employed responsibly, AI might revolutionize the development profession. 

"One of the biggest advantages of using AI in development is the ability to automate the tedious and repetitive tasks that developers hate as they waste time and add little business value to the solution," said Brault. 

"Instead, by automating these low-level routines with AI, developers can spend more time finding creative ways to solve the complex business problems that impact their company. If anything, developers will become even more valuable as their expertise will be required to validate and secure AI-generated code as well as build reusable components, templates, and frameworks to establish governance standards for integrating AI with their existing systems."

Read Entire Article