As cloud development has evolved, teams have benefitted from several innovations that significantly increased productivity, such as advanced debuggers, modern IDEs and Notebooks, online communities, and cloud computing services. Despite this, organizations continue to struggle with a chronic shortage of developers with desired skills. Moreover, developers often face numerous challenges, some of which are particularly relevant to cloud development, including:
- Disruptive context switching and friction when evaluating, learning, or integrating new tools or frameworks
- Excessive time spent on repetitive tasks
- Difficulty understanding new code bases or complex APIs
- Achieving a high level of automated test coverage without sacrificing velocity
However, the recent growth of generative AI has introduced new opportunities for businesses and developers alike with large language models (LLMs) — AI models trained on massive sets of textual data to produce relevant responses to requests in natural language. This novel technology opens up fresh use cases for developers by enhancing their software development process and, more significantly, driving increased productivity.
With the explosion of tools available in the market, a common question we hear from customers is: How can I evaluate which solution best fits my organization’s needs?
Enhancing development with generative AI
Due to their ability to synthesize and generalize patterns from massive training data, LLMs can enhance every part of the software development lifecycle, improving productivity with capabilities that can complete, transform, explain code, generate tests in IDEs and even do agentic workflows.
Here are some of the benefits of incorporating generative AI into software development:
- Speed: Generative AI tools can reduce development time and effort. For example, developers can reduce time spent on repetitive tasks by leveraging in-line code suggestions.
- Quality: LLMs can detect more sophisticated and nuanced patterns than traditional code analysis. As a result, developers can fine-tune code according to an organization’s best practices, adhere to naming conventions and deliver more consistent code quality.
- Scale: While there are over 1 billion knowledge workers in the world, there are only about 25 million programmers. Teams can bridge this gap with AI-enhanced tools that help developers perform above their skill level, enabling them to scale their impact and productivity when used under the right circumstances.
- Onboarding and upskilling: LLMs can reduce the time and effort spent understanding code and documentation by explaining code and making it easier for developers to become familiar with a new codebase, language, or framework.
As enterprises adopt these transformational technologies, it’s important to put measures in place to assess and quantify their impact. Measuring productivity gains is a nuanced process, and it’s critical to resist the urge to only run narrow, task-specific experiments. They tend to give overly optimistic results that do not generalize when looking at productivity gains for typical day-to-day tasks.
While there are some obvious leading impact indicators — including adoption, suggestion acceptance rate, and tool retention — lagging indicators provide a more accurate picture. Measuring indicators, such as the reduction in coding iteration time and the amount of new code generated from AI tools, may offer a better understanding of their productivity impact.
Getting started with generative AI
While generative AI has strong potential, it’s still in the early stages of widespread adoption, with many organizations just starting to evaluate use cases and launch pilots. Here are some key considerations and questions that can help guide you:
Understand your business needs and use cases. Before implementing generative AI, you should know why you need it and how it can help you achieve your development and business goals. Some questions to ask include:
- Which roles will benefit most from the benefits described above?
- Which of these use cases will yield high business value and near term impact?
Protect your IP and customer privacy. Protecting your intellectual property and sensitive data when working with generative AI is vital to maintain your unique competitive advantage and prevent any misuse of your work. Equally important is customer privacy, as safeguarding sensitive data fosters customer trust and complies with regulatory requirements. Questions your organization needs to think about include:
- What centralized admin controls are needed?
- How can you use generated code in line with your licensing policies?
- What is the cost of hallucinations (i.e., incorrect code generated) to your business? How can this be mitigated?
- What security validation steps can be built on top of the code output?
- How can I ensure my code and data remain private? So they aren’t used for training shared models.
Find the right solution. To make sure the solution you choose can work with your existing technology stack and meet the specific needs of your organization, there are many factors you should consider, such as:
- Are there specific programming languages and frameworks to care about?
- Will it be beneficial to customize the models on a proprietary codebase? Do you and your teams have the right data?
- How can you leverage the organizational knowledge graph to maximize impact?
- How can you keep the model up-to-date as your internal knowledge evolves?
- How does the solution interact with the existing tech stack and platform?
- Does this fit into your broader AI adoption plans and vendor choices?
- How good is the tool being used? Across dimensions such as accuracy, domain relevance, style and safety?
- Can this solution be deployed at scale?
Consider organizational culture and processes. AI-powered developer assistance is one more tool in your productivity toolset, and having the right culture and processes can maximize its impact. Be sure to ask questions like:
- Do my teams have the right skills and processes to use these tools effectively?
- What training is needed in areas like prompt engineering to ensure effective use of these tools?
- What can you do to find the right balance between automation and humans in the loop?
- How can your organization make sure the tools accelerate the growth of developers as opposed to making them overly reliant?
As you go through the journey with generative AI for coding, remember that this is not a one-time endeavor. The models and the products built on these technologies are evolving rapidly, and an increasingly large choice of tools means that a more holistic approach is needed to ensure organizations identify and adopt the best tools available for their development teams.
By harnessing the power of AI-driven developer assistance, such as Duet AI assisted development, businesses can unlock unprecedented levels of productivity and efficiency in software development, paving the way for a new era of innovation and growth.