2023 CodeWhisperer Year in Review
CodeWhisperer exploded with new AI features in 2023 to boost developer productivity. Get the inside story on this tool's rapid growth over the past year.
Published Dec 21, 2023
Amazon CodeWhisperer has exploded with capability upgrades in 2023. I've loved watching this AI-powered productivity tool grow over the past year from great initial idea and implementation into a mature, fully featured product — so I was excited to get the change to talk to a bunch of the developers behind the tool itself, to ask about how it came together. As Doug Seven, General Manager at Amazon CodeWhisperer explains:
“Amazon CodeWhisperer is an AI powered developer productivity tool for the IDE and command line. Developers can achieve significant productivity boosts with in-line code suggestions based on the code they are working in and their natural language comments, and now can leverage Amazon Q with CodeWhisperer, to ask about or get help writing and improving their code, and find and remediate security vulnerabilities with the included code scanning capability.”
It tightly integrates into your favorite workflows - including VS Code, JetBrains, AWS Cloud9 and Amazon SageMaker Studio. Since it’s general availability announcement in April 2023, CodeWhisperer has seen major advances, as highlighted by Doug: “Since its GA launch in April, we have been working to improve the overall experience of CodeWhisperer. This includes several model updates to improve the quality of code suggestions, new smart triggers to better predict the best time to make a code suggestion, and increasing the number of languages that get function-block suggestions. We have observed an increase in the acceptance rate from around 20% to 35% averaged across all languages and use cases. Now, with Amazon Q included with CodeWhisperer, developers can ask about their code, and leverage Amazon Q’s capabilities to find bugs, optimize, and translate code they are working on.”
To get the inside view on CodeWhisperer's rapid-fire release schedule, I spoke with key members of the product team about the launch announcements outlined in this year in review.
In April, AWS announced the general availability of Amazon CodeWhisperer, an AI-powered tool designed to elevate your coding experience. “The advancements in generative AI, combined with our innovations for running AI workloads at scale, such as Trainium, Inferentia, and Amazon Bedrock provided the perfect environment for building a generative AI coding tool. With thousands of developers within Amazon, we saw the opportunity first hand. If we can use CodeWhisperer to reduce the time it takes to build and release software, we can shorten the time to market and increase our ability to get software solutions in the hands of our customers,” shares Doug Seven, the General Manager of Amazon CodeWhisperer.
With it’s general availability, CodeWhisperer introduced two tiers: CodeWhisperer Individual and CodeWhisperer Professional. The Individual Tier is free to use, and offers code recommendations, reference tracking and security scans. The Professional Tier builds on and enhances the features in the Individual Tier, along with enterprise administration capabilities, including organizational license and policy management.
Doug Seven (GM Amazon CodeWhisperer) comments on the impact of CodeWhisperer: “We hear all the time from developers who are excited about how CodeWhisperer accelerates their work. One of my recent favorites was a social media post that said ‘The mind-reading capabilities of #CodeWhisperer are such that I think I'm starting to have feelings for it.'”
In May, a significant expansion for Amazon CodeWhisperer was announced: its availability as an extension in JupyterLab and Amazon SageMaker Studio. This integration marked a pivotal moment for data scientists, allowing them to leverage CodeWhisperer for real-time Python code suggestions in their notebooks for no additional charge.
With this extension, builders can simply write a comment in natural language to outline a coding task in English, and CodeWhisperer will respond with appropriate code snippets directly in the notebook. This feature streamlines the development process, significantly accelerating data analysis and coding efficiency in both SageMaker and JupyterLab.
Regarding the expansion, Ankur Desai (Principal PMT for Amazon CodeWhisperer) explains, “Data Scientists spend a significant amount of time in notebooks analyzing data and building machine learning models. By expanding CodeWhisperer to JupyterLabs and SageMaker Studio, we are bringing the productivity benefits of generative AI to data scientists.” This integration caters to the specific needs of data scientists and researchers, bringing the power of AI-assisted coding to a wider audience.
Ankur Desai also sheds light on how CodeWhisperer enhances the SageMaker Studio experience: “Now, developers can enjoy real-time code generation based on existing context (such as code blocks and markdown) in their notebooks, helping them finish their tasks faster.” This integration is designed to streamline workflows, enabling users to focus more on innovative data science solutions and less on routine coding tasks.
With CodeWhisperer now part of these popular data science platforms, the path to quicker, more efficient and intuitive coding becomes clearer for the data science community.
In July, AWS Glue Studio announced the support of Amazon CodeWhisperer. This addition allows builders to use CodeWhisperer at no additional cost for generating real-time code suggestions in AWS Glue notebooks.
This integration facilitates rapid development of code, accelerating data preparation for analytics and machine learning projects. Optimized for popular APIs, like AWS Lambda and Amazon S3, CodeWhisperer becomes an indispensable tool for people building on AWS. As users write code in Python or type instructions in English within Glue Studio Notebooks, CodeWhisperer provides real-time, relevant recommendations which enhances coding efficiency.
Ankur Desai comments on the benefits: “AWS Glue Studio is a graphical interface that makes it easy to create, run, and monitor data integration jobs in AWS Glue. With CodeWhisperer integration, we are empowering data engineers and BI practitioners to quickly develop their data integration job scripts with the help of real-time code recommendations, directly in the Glue Studio.” This feature transforms the way users handle coding tasks in Glue Studio, providing a streamlined and intuitive experience.
Further expanding availability, AWS announced in August that CodeWhisperer support in AWS Glue Studio is now available in all AWS regions where Glue is accessible. This wider availability marks a significant step in making real-time coding assistance more accessible to a global audience of developers and data scientists.
In October, AWS unveiled a game-changing preview: The Amazon CodeWhisperer customization capability. This innovative feature allows organizations to tailor CodeWhisperer for more precise code suggestions by integrating their internal APIs, libraries, classes, methods, and best practices. This level of customization helps developers spend less time navigating internal documentation or previously written code to understand the usage of internal APIs and libraries.
Ankur Desai, Principal PMT for Amazon CodeWhisperer, explains the impact of this feature: “Amazon CodeWhisperer has helped thousands of developers become more productive by helping them complete their tasks up to 57% faster. However, many enterprise developers need code recommendations that are specific to their organization. Their organizations have significant amount of private code, and while generic code recommendations are useful for many tasks, in some cases they need code that includes their internal libraries and APIs.
“Now, organizations can customize CodeWhisperer using their private repositories to generate code recommendations that include their internal libraries, APIs, packages, classes, and methods. Enterprise developers can now focus on solving the most important business problems instead of spending hours searching for code samples in their internal code base and modifying them to meet their needs.” This new capability enables CodeWhisperer to deliver more relevant, organization-specific recommendations, considerably speeding up development processes.
With this preview, organizations can securely connect their private repositories to CodeWhisperer. Administrators have the authority to select specific repositories for CodeWhisperer customization, and they specify which users have access to which customization, ensuring strict access control.
An internal study with Persistent, a global digital engineering and enterprise modernization company, highlighted the impact of this feature. Their findings revealed that developers using Amazon CodeWhisperer with customizations completed tasks an additional 28% faster compared to when they didn’t use customizations, marking a huge leap in developer productivity.
Currently available in preview, this customization capability promises to revolutionize the way organizations approach coding standards and quality, enabling faster onboarding of developers and promoting the use of code that aligns with organizational standards.
In November, AWS made a significant stride in enhancing developer productivity with the preview of Amazon CodeWhisperer for command line. Recognizing the command line’s crucial role in the workflow of over 30 million engineers, this new addition aims to simplify and modernize the command line experience with generative AI-powered features.
Brendan Falk (Principal PMT, Amazon CodeWhisperer) elaborates on the rationale behind this launch: “The command line is used by over thirty million engineers to write, build, run, debug, and deploy software. However, despite how critical it is to the software development process, the command line is notoriously hard to use. Its output is terse, its interface is from the 1970s, and it offers no hints about the ‘right way’ to use it. With tens of thousands of command line applications (called command-line interfaces or CLIs), it’s almost impossible to remember the correct input syntax. The command line’s lack of input validation also means typos can cause unnecessary errors, security risks, and even production outages. It's no wonder why most software engineers find the command line an error-prone and often frustrating experience.” This initiative addresses the command line’s complexity, making it more developer friendly.
CodeWhisperer for command line introduces two core capabilities: CLI completions and natural language to bash translation. CLI completions offer typeahead code completions and inline documentation for over 500 popular CLIs, including Git, npm, Docker, MongoDB Atlas and the AWS CLI. The natural language to bash translation feature allows developers to input natural language instructions, like “download data from my s3 buckets to my desktop,” which CodeWhisperer then translates into executable shell code snippets.
Brendan also comments on the user experience improvements: “CodeWhisperer for command line offers CLI completions helps developers accelerate workflows they already know how to do and natural language-to-bash translation for workflows where they aren't quite sure. These capabilities are designed to help keep you in your terminal and avoid you context switching to the browser, docs, or even asking a colleague.” This feature is designed to streamline command-line operations, reducing the time and effort needed to execute complex commands.
CodeWhisperer for command line is compatible with macOS and supports major shells (bash, zsh, and fish) and terminal emulators like Terminal, iTerm2, Hyper, and the built-in terminals in Visual Studio Code and JetBrains. Developers can download and set up CodeWhisperer for command line in just minutes using the getting started guide.
In November, AWS Amplify made a big leap forward by announcing a public preview of its code-first developer experience (Gen 2), particularly exciting for those using TypeScript for full-stack app development. The shift to a code-first approach allows developers to define app requirements like data models, business logic, and authorization rules, directly in TypeScript, with the necessary cloud infrastructure automatically deployed based on the app code.
One of the standout features of Gen 2 is its integration with Amazon CodeWhisperer. This generative AI collaboration means developers can configure backend features effortlessly using natural language, streamlining the development process.
In November, AWS announced an exciting development: Amazon CodeWhisperer is now available in Amazon EMR Studio, offering real-time code suggestions at no additional charge. This integration marks a significant step in enhancing the capabilities of EMR studio, an IDE tailored for data scientists and data engineers working with big data and analytics applications.
With CodeWhisperer’s integration, EMR Studio users can generate code suggestions based on their prompts and existing code. This features is particularly beneficial for those working with PySpark, Python, Scala, and R, as it accelerates data preparation for analytics and machine learning. Whether writing code in Python or using simple English commands within EMR Studio notebooks, CodeWhisperer offers timely and relevant recommendations.
In November, at the very start of AWS re:Invent, AWS unveiled a series of exciting updates to Amazon CodeWhisperer, further solidifying their commitment to enhancing builder experience. These enhancements include support for Infrastructure as Code (IaC), AI-powered code remediation, expanded language support for security scanning, and the availability of CodeWhisperer in Visual Studio (preview).
Bharadwaj Tanikella (Senior Product Manager - Tech, Amazon CodeWhisperer) discusses the impact of these updates: “Empowering builders in modern development, Infrastructure as Code serves as the backbone, enabling the efficient construction and scaling of cloud infrastructure through code. CodeWhisperer now aids builders in implementing Infrastructure as Code by offering secure recommendations within their preferred IDE. With Visual Studio support, we broaden our reach to more builders, empowering them to architect robust and scalable systems with unmatched efficiency and precision.”
This expansion of features is designed to cater to a diverse range of builders, from those working on complex cloud infrastructures to developers focusing on robust security practices.
Developers working with IaC can now enjoy suggestions and completions in AWS CloudFormation (YAML, JSON), AWS CDK (TypeScript, Python) and HashiCorp Terraform (HCL). This makes IaC automation more streamlined, ensuring faster and more accurate infrastructure deployments.
CodeWhisperer’s journey in 2023 has been marked by its ability to identify hard-to-find security vulnerabilities. Ifeanyi Okafor (Sr. PMT Ext. - AWS AI, Amazon CodeWhisperer) elaborates on these new capabilities: “When CodeWhisperer simply identified vulnerabilities, developers still had to do some research to fix the vulnerabilities. Fixing an issue can be time consuming if the developer is unfamiliar with concepts involved. In such cases, the developer has to review the finding, read some documentation to learn about the issue, and then rewrite the code to fix the issue.
“AI-powered vulnerability remediation takes away the heavy lifting and speeds up the process of addressing security issues detected in your code. Using generative AI-powered vulnerability remediation generates and presents the corrected version of a vulnerable code block to the developer who simply has to review and accept the code suggestion with a single click. This allows organizations to speed up the process of vulnerability remediation at development stage.”
The announcement of CodeWhisperer’s availability in Visual Studio 2022 is a significant milestone, especially for C# developers. This integration provides real-time code suggestions, further enhancing productivity in application development.
During re:Invent 2023, AWS introduced an exciting preview of Amazon Q’s capabilities, enhancing the toolset available to builders around the world. Amazon Q, a generative AI-powered assistant, is now set to revolutionize the way applications and workloads are built, deployed and operated on AWS. A key component of this announcement is Amazon Q’s integration with Amazon CodeWhisperer.
Doug Seven, the General Manager of Amazon CodeWhisperer shares insights into this integration: “Amazon Q was the missing component of CodeWhisperer. When we personify the AI productivity tool experience, we were missing the conversational part of the collaboration. Developers often work together to write code and solve a problem, but they never do it without conversing. Now, with Amazon Q integrated into CodeWhisperer, developers can ask about the code they are working on, get help debugging and optimizing the code, or even translate code from one programming language to another.”
This combination brings a new level of expertise and efficiency to the development experience, leveraging Amazon Q’s AI-driven assistance right in the IDE.
Amazon Q’s capabilities extend beyond code generation. Conversations with Amazon Q can guide developers in using best practices for architecting applications, explaining and implementing source code functionality, upgrading application versions, and troubleshooting common errors. Its ability to understand and interact with code, generate tests, fix bugs, and implement features significantly reduces the time and effort involved in development tasks.
Doug further explains how Amazon Q and CodeWhisperer align: “Q is great at helping with the mundane and the complex - like writing unit tests or explaining your code in natural language. The alignment of these tools creates a more cohesive and powerful environment for developers, combining the strengths of both to offer a comprehensive solution for building and maintaining applications on AWS.” The alignment of these tools helps builders to transform the way they build on AWS.
Amazon Q, trained on 17 years of AWS examples and documentation, is accessible through various platforms including the AWS Management Console, AWS documentation, AWS website, and through team chat rooms in Slack or Microsoft Teams via AWS Chatbot. Its presence with Amazon CodeWhisperer further enhances the IDE experience, offering expert-level assistance and code transformation capabilities, like upgrading Java applications to the latest version.
As we wrap up this exciting journey through Amazon CodeWhisperer’s 2023 updates, it’s clear that this year has been nothing short of transformative. From it’s General Availability launch, to the introduction of groundbreaking features like Amazon Q and CodeWhisperer for command line, CodeWhisperer is redefining the landscape of developer tools.
Your feedback has been the cornerstone of this evolution. It’s your day-to-day experiences, your challenges, and your success stories that fuel the continuous enhancement of CodeWhisperer. The way builders have embraced this tool not only ignites the development of new features but also shapes the future of coding. As Doug Seven, GM of CodeWhisperer at AWS, aptly puts it, “2023 has been an exciting year for generative AI and CodeWhisperer. We hear from customers every day who are thrilled with what CodeWhisperer is doing, and who constantly challenge us with new ideas. AI powered remediation, feature developments and code transform, and Infrastructure as Code support all came from customers sharing their needs with us. I can't wait to show you what we have planned for 2024.” And indeed, with your continued input and the product team’s relentless innovation, the horizon for CodeWhisperer and its capabilities is limitless.
On a personal note, CodeWhisperer hasn’t just enhanced my coding skills; it’s transformed the way I interact with my team. By prompting me to write clearer, more meaningful comments in my code, it’s not just the AI that’s understanding me better - my human colleagues are too! This synergy between human creativity and AI efficiency is what makes CodeWhisperer a game changer.
As we look forward to 2024, I encourage you to keep the feedback coming! Share your experiences, your wishlist for the roadmap, the challenges you face, and the successes you celebrate. Your voice is the magic behind the innovation! And don’t forget to stay connected - follow me on LinkedIn, Twitter/X, Instagram and TikTok to stay in the loop with my demos, updates and announcements in the coming year.
For more information, dive into the CodeWhisperer website, explore the FAQs, get started with the Getting Started Guide, and deepen your understanding with the Docs.
Here’s to a future where our code is not just written, but inspired. Until next time, keep coding, keep dreaming, and let’s build something amazing together!
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.