How Leveraging AI Technology Enables Developers
AI has long been shrouded in an aura of mysticism and mystery in popular culture. A staple of science fiction novels and dystopian movies, technology with capabilities to build processes and machines capable of performing tasks that would typically require human intelligence and attention has often seemed more affiliated with fantasy rather than reality.
However, as advancing technology has become an integral part of nearly every aspect of daily life, the practicality and effectiveness of AI is, in fact, part of the “real.” This integration of AI isn’t confined to an Alexa device used in a home or Face ID to unlock an iPhone; AI technology is becoming a key strategy in organizing and optimizing processes for the IT community. As AI-powered programming continues to grow in prevalence and usage for developers, an understanding of its applications and benefits can increase productivity and help mitigate risks.
AI Enables Productivity Gains for Developers
Maintaining productivity across systems in the face of changing circumstances—especially in recent times—is a primary goal for many businesses. Leveraging AI technology presents an effective strategy for enabling productivity gains in coding and development. The process of understanding code, for example, can become incredibly time-consuming as developers must laboriously analyze, refine and iterate queries multiple times with each new insight gained.
In fact, notes Steve Brothers, president, Phase Change Software, roughly 75% of a developer’s time in fixing a bug or making a change is spent querying and understanding code. Leveraging AI technology helps developers more effectively find code because they can ask the technology where a specific behavior is coming from and be guided to the code associated with this behavior.
Brothers also notes that the result of this type of searching is always comprehensive because it finds all of the places where the behavior occurs. “It’s not guessing,” he says. “It’s predetermined. Basically, there’s an engine behind it that’s looking at everything.”
The application of utilizing AI models to make suggestions as a productive measure go beyond just querying code. Brothers sees this development as an assistance to developers and their approach in general. “It’s all about the behavior we want in the system. How can I code better?” he says. “AI can help developers reimagine the reflection of what the code is doing and then model that in a way that’s usable.”
An AI Knowledge Repository
The code repository is the best, most accurate description of the behavior in the system. Give a developer enough time to study a codebase, and they do not need any other documentation. But that is expensive and time-consuming. With AI technology, the code repository becomes a knowledge repository that understands source code the way a fellow developer might, without the time cost.
“AI helps the developer to query the code,” Brothers explains. “The first step in the process is ‘I’ve got a bug report. Where in the code is that behavior?’ You can squeeze that query time if you have a knowledge repository, which you can with AI—a knowledge repository that understands your source code the same way a human does.”
Developers can then ask this knowledge repository where behaviors are coming from, and quickly identify the code associated with that behavior. “If you use AI in this way for querying, you do more with less,” says Brothers.
Risk Mitigation
Application of AI technology here isn’t confined to code querying. It can also be a key element of risk mitigation in several important areas of operations. In many organizations, for example, there is a fear of employee turnover—specifically for tenured senior developers—because these individuals are often perceived as the only ones who understand the code. Their departure could result in a loss of information and jeopardize the company’s ability to react quickly.
While these developers are of course assets in this scenario, companies can cover these gaps in information understanding and prevent valuable knowledge from walking out the door by leveraging AI technology. Instead of putting new developers through the time and effort of learning unfamiliar code, AI technology makes available useful knowledge from the source code. This method is significantly more time-effective—and even more precise—in maintaining the code than a human could be. “By using AI in this way,” Brothers explains, “you can mitigate the risk of the departure of developers.”
Risk mitigation extends beyond closing gaps in lost knowledge. Developers can also ask AI technology what might happen if they’re making a change to the code. “You could ask your AI, ‘Hey I’m about to make this change. Is this change constrained to just the behavior?’ Then, you won’t do things that could result in other drastic implications, such as failure of financial services or system crashes,” notes Brothers.
Trusting AI
Despite the numerous ways that AI can streamline procedures and increase productivity, there is still some hesitance in the industry about fully integrating this technology. One of the biggest hurdles is a lack of trust in AI. “You’re talking about a collaboration that happens between the AI that has the knowledge and the individual developer who has a task that they need to accomplish, so trust is a big thing,” Brothers says. “You have to be able to trust the AI. If you’re looking to implement something like this—whether you write it or go buy a tool—you better be able to trust the results. You’re talking to a knowledge repository that is supposed to be precise, that knows your software better than your best software developer does.”
For those willing to take the leap, AI technology ultimately becomes a partner that helps developers extend their talents and abilities with its knowledge repository, cutting down querying time and enabling risk mitigation from a development perspective. Like two colleagues working to their strengths, they deliver more than one working alone.