The copilots are coming. Truthfully, they are already here. AI-assisted development, enabled by AI-powered copilots, will be the dominant model. It is easy to look upon the advancements and become fearful or defensive, but the impact on productivity by AI-drive copilots is revolutionary for our technology workers. Software development has become overburdened by complexity and adjacencies. Something had to give. Without straying too far, we have "shifted left" tasks from infrastructure, database and security, all in the name of expediency. We have been building to this moment. And now here we are.
What is an AI copilot?
An AI copilot in software development is a tool that leverages artificial intelligence to assist a human programmer by automating pieces of the development process. Code generation tools have been participating in the development process for many years through code completion and suggestions. More recently, though, these tools are now participating in additional tasks. Today, copilots use natural language processing, predictive analytics and rule-based programming to help accelerate the development process while ensuring quality.
Use Cases for coding copilots include:
- Code completion tools integrate directly into many integrated development environments (IDE), streamlining the development process by suggesting code snippets and language-specific auto-complete options.
- Code generation goes a step further to create complete methods and classes based on existing context or by using a comment as a prompt describing the functionality needed.
- Engineering Productivity tools help author scripts and configuration files used during infrastructure resource provisioning and application deployment.
- Code review tools suggest optimizations, find potential bugs, identify security vulnerabilities, and make recommendations for remediation.
Examples of AI coding assistants include:
- GitHub Copilot automates code generation through IDE integration and integrates with and automates the code review process to suggest optimizations.
- Amazon CodeWhisperer is a coding platform built on machine learning and Natural Language Processing (NLP). CodeWhisperer adds automation to much of the software development lifecycle, similar to GitHub Copilot, but CodeWhisperer is capable of more in-depth integration with Amazon Web Services-specific solutions.
- ChatGPT, likely the most popular general-purpose AI chatbot of the day, can generate or suggest code revisions through its chat interface or APIs.
Companies are already seeing benefits from AI-assisted development through improved engineering productivity. In March of 2023, Scott Guthrie, EVP of Cloud & AI at Microsoft, shared some statistics on just how much of an impact they have observed. "We're now seeing the developers using GitHub Copilot are 55% more productive with it on tasks, and that's sort of measured by independent studies. And 40% of the code they're checking in is now AI-generated and unmodified."
Fast forward three months to June 2023, and GitHub CEO Thomas Dohmke delivered a slightly revised metric, claiming GitHub Copilot is, on average, improving developer productivity by 30%, with nearly one million developers included in the study. Looking ahead to 2030, Dohmke extrapolates that "30% performance gains of an additional 15 million effective developers to worldwide capacity", approaching $1.5 trillion in global GDP boost.
In looking ahead to the combined impact, Dohmke, like many others, considers AI copilots to be an extension of engineering staff. Copilots are amplifying the effectiveness and productivity of our engineers, allowing for quicker turnaround times on task completion and lowering the amount of technical debt burdening many organizations. Consequently, through the responsible integration of AI copilots, organizations may improve engagement levels and encourage a more sustainable IT culture that attracts, grows, and retain team members.
Additionally, AI-powered copilots are not just benefiting software engineers. Organizations can empower ”business technologists” through AI-powered low-code/no-code solutions, further reducing time to market, lowering costs and delivering more targeted solutions. According to the New York Times, no-code technology is likely to become an increasingly important part of the software landscape in the years to come. As low-code/no-code toolchains adopt AI capabilities, this will accelerate, allowing even those with little to no coding experience to create powerful applications.
Strike the right balance
Business leaders must remember that copilots are a tool that improves the productivity of engineers. At this time, there still needs to be a human-in-the-loop reviewing and approving any code recommendations. As powerful as these AI-powered assistants are not without flaws. As we see with other generative tools, the quality of content created can vary and is subject to potential "hallucinations" or inaccuracies.
At all levels of skill, engineers can benefit from AI-assisted development tools. From learning a new programming language or paradigm, creating scaffolding for a new project, or suggesting a prototype based on requirements, copilots will reduce the cognitive load on engineers. Keep in mind, though, that AI-assisted development now raises the bar. Everyone is now at least as good a developer as the AI copilot. Used responsibly, copilots are an integral part of the creative process. AI-powered copilots are not replacing workers. Developers rely on copilots for repetitive tasks and focus on higher-order, business-differentiating problem-solving.
Most AI algorithms improve through increased exposure to data and interactions from their human-in-the-loop. Engineers, on the other hand, gain productivity and scale. The resulting working arrangement is symbiotic, as both parties improve over time.
Organizations must, however, remain vigilant and maintain a high degree of discipline and standard for software production. Selecting which tasks are suitable for copilots and which still require a human-in-the-loop for oversight is up to each business to assess.
Address the need for governance
Business and technology leaders must prioritize enabling their workforce to adopt these evolving tools. Through effective policy and a thorough understanding of technology, organizations leveraging AI will continue to thrive. Governance frameworks like NIST’s AI Risk Management Framework empower organizations to manage potential risks associated with AI-assisted software engineering, build social trust, and ensure ethical product development.
As part of the evaluation process, organizations must be aware of potential confidentiality, privacy, and security concerns inherent to AI interactions. AI models improve through increased interactions and usage, increasing their overall utility. Generally available tools like ChatGPT by default learn through the prompts and data users provide during interactions, increasing the risk of exposing confidential or proprietary information. It is possible to mitigate some risks by building or selecting tools that function as a one-way gate - applying a trained model to the user's prompt to produce a result without incorporating the interaction into the tool's learning feedback loop.
AI copilots are an exciting technology with tremendous potential. Organizations are embracing the potential of AI copilots and are beginning to ideate and incubate potential use cases.
Our generative AI services are part of the Foundry for AI by Rackspace Technology.
Foundry for AI by Rackspace (FAIR™) is a groundbreaking global practice dedicated to accelerating the secure, responsible, and sustainable adoption of generative AI solutions across industries. Follow FAIR on LinkedIn.
Start early and get the advantages of AI copilots now
About the Authors
VP, Product and Architect for Application and Platform Modernization
Justin is an experienced IT professional with 18 years of expertise across various industries, including healthcare, technology, finance, education, and government. He specializes in assisting companies of all sizes in developing and implementing secure and sustainable technology modernization strategies. As the VP, Product and Architect for Application and Platform Modernization at Rackspace Technology, Justin leads the advancement of innovative solutions to keep businesses at the forefront of the ever-changing tech landscape.Read more about Justin Kuss