AWS is driving the use of generative AI tools deeper into the Amazon Q Developer code assistant.
AWSCode tools have broadened. Software application development code assistants in the decade before now worked at the level of what we could call smart autocomplete tools. Developers would tap into automations and sometimes interact with chat functions inside the integrated development environment of their choice and get “code snippets” to insert into their programming activities. This was good, but the tooling here was singularly centralized upon code generation because – after all – that’s the meat in the sandwich… and that was (and still is) the core requirement.
All of which functionality was great, but it probably couldn’t be called an end-to-end technology proposition i.e. software programming inside a total development pipeline and lifecycle that starts from initial application requirements analysis, progresses to forming algorithmic logic, moves through testing and debugging, looks upstream to creation of the user interface… and then also extends to live deployment execution and ongoing maintenance, or extensions for scaling and updates.
In the modern era of AI, with generative intelligence and agentic AI "workers” now starting to actually become members of the workforce, any notion of code assistants just working to provide code is starting to almost sound archaic. This is the tipping point that AWS is now looking to capitalize upon with its latest updates to Amazon Q Developer, a generative AI conversational assistant that developers can use for coding, testing, upgrading, troubleshooting and security scanning.
But why is all this happening now?
The Road To AI Code
“We’re at a really transformative moment in software development where new technologies will create a profound shift in the way developers work due to the rise of AI coding assistants in the generative space,” enthused Adam Seligman, VP of developer experience at AWS. “Now that we can build and create code assistant functions so much more accurately through technologies like retrieval augmented generation [to align AI more tightly to an organization’s specific business logic and data] and other fine-tuning mechanisms, we can remove so much more of the laborsome elements of the software application development lifecycle and leave developers to work on the creative elements of core application innovation.”
Seligman reminds us that coding assistants used to function solely on what he calls the middle section of the programming task i.e. the code. But with the latest updates to Amazon Q Developer, the technology is capable of providing end-to-end assistance starting from understanding application requirements, right through to creating logic functions and onward to testing and deployment. How big a change is this? Perhaps as fundamental as the birth of the IBM PC, the creation of Linux, or (for the more technically minded) the arrival of compilers that converted low-level software like machine code and assembly language into executable programs.
But again, why is all this happening now and what are the tasks that software developers need AI to shoulder for them?
“In any real world IT team, software developers spend a whole lot of time working on things that are essentially not coding… and these are key tasks that Amazon Q Developer is capable of performing with automated accuracy and efficiency,” said Deepak Singh, VP of next-generation developer experience at AWS. “These are jobs such as configuration, generating unit tests [to analyze whether any given piece of code does what it is supposed to do], looking after upgrades/maintenance and – importantly – creating code documentation so that other programmers who might access code repositories (in the current time frame, or much later on when members have left a team) know what they are looking at.”
While code assistants vary massively in their form and function, in general, Singh points out that developers have had to leave the “flow” of their work inside their integrated development environment and step out of the IDE to get the answers they need. Amazon Q Developer has been engineered to address that disconnect and its latest updates centralize around providing in-flow assistance with an emphasis on large-scale transformation of legacy workloads.
Undifferentiated Heavy-Lifting
AWS says it has built Amazon Q Developer to take the “undifferentiated heavy-lifting” out of complex and time-consuming application migration and modernization projects. It is positioned as the first generative AI-powered assistant for large-scale migration and modernization of Windows .NET, VMware and mainframe workloads. Its core new capabilities mean that it can modernize Windows .NET applications to Linux at what is claimed to be up to four times faster and reduce licensing costs by up to 40%. It can transform VMware workloads to cloud-native architectures, converting on-premises network configurations into AWS equivalents in hours. It can also accelerate mainframe modernization by streamlining labor-intensive work like code analysis, documentation, planning and refactoring applications.
That’s an arguably quite neat triumvirate of modernization tools i.e. shifting Microsoft .NET to Linux (now that Microsoft loves Linux) falls in line with the general trend towards enterprise open source; VMware migrations (in the wake of the company’s unsettling-for-some acquisition by Broadcom) are very of the moment; and mainframe modernization remains an imperative for some installations as it has done for the last quarter century. In more detail here for additional validation, organizations often want to modernize from the Windows .NET Framework to cross-platform Windows .NET on Linux for reduced licensing costs, enhanced security and optimized performance.
“We are combining Amazon Q Developer with our nearly two decades of experience helping organizations migrate and modernize their legacy workloads on AWS to accelerate and simplify large-scale transformations,” said Mai-Lan Tomsen Bukovec, vice president of technology, at AWS. “This is a game-changer for customers and partners looking to move off of Windows .NET, VMware and mainframes. Now, Amazon Q significantly speeds up application transformation projects with agents that can autonomously complete some of the most labor-intensive tasks, such as analyzing, planning, code generation and testing, saving customers time and money, and helping them realize the full value of the cloud.”
Leaving Legacy Lethargy
Looking at the state of migration today (and let’s remember that AWS is a cloud computing company, so it always wants to extol the virtues of moving to public cloud resources and getting organizations to embrace virtualization) AWS says that many organizations have a large number of legacy applications that often require specialized expertise to operate and are expensive and time-consuming to maintain.
While firms running these legacy applications and data services may want to move onwards, modernization can take months (or years) of work. This does mean that projects often get postponed and, arguably, this does impact an organization’s ability to start embracing news-age IT functions with generative AI obviously among the usual suspects here. To make these projects easier, AWS says that Amazon Q Developer provides transformation capabilities that use AI-powered agents to automate the heavy-lifting tasks involved in upgrading and modernizing.
What constitutes heavy lifting? That’s tasks like analyzing source code, generating new code, testing it and executing the change once it’s approved.
Earlier this year, Amazon integrated the Java transformation capability of Amazon Q Developer into its internal systems to migrate tens of thousands of production applications from older versions of Java to Java 17. If you haven’t been tracking Java release versions, the current Java version with long term support is Java 21, so LTS on Java 17 would be an appealing move forward for many users. The company says that this effort saved more than 4,500 years of development work.
“To start a transformation, a developer simply selects ‘Transform’ under the AWS Toolkit section in their integrated development environment to confirm the specific file they want to modernize. Amazon Q then uses agents to automatically identify the components that need to be upgraded, create a transformation plan, fix any build errors and execute the plan. This includes upgrading existing code and configuration files, generating any new files it needs and fixing any issues identified with failed builds before presenting a summary to the developer,” details AWS, in a technical product update.
Digging through the Amazon Q mainframe modernization functions in more detail, this tool handles code analysis, planning and application refactoring. Starting with IBM z/OS mainframes, software engineers can use Amazon Q to assist with a range of modernization tasks, including automatically generating documentation for COBOL code and decomposing monolithic applications into components so that they can be moved and deployed on modern cloud platforms – in this case, AWS, obviously.
We started this story by saying that code assistant technologies have broadened. In the case of Amazon Q Developer, the tool uses AI agent functions to automatically identify software application code dependencies (elements of one application’s code base that need to feed from another application, API or other data source or library etc. in order to exist and work) and create a plan to modernize workloads in waves. Also capable of understanding software application syntax, Q (which may have been named as it works as a shortening of “quick”, which is also reflected in the AWS QuickSight business intelligence product) is evolving fairly quickly given that AWS only announced this tool at this time last year.
Do developers like code assistants?
Only one question really remains i.e. do developers like code assistants?
In the case of Amazon Q Developer, AWS VP Singh has said that it scores a 55% acceptance rating on the SWE Bench benchmark (an industry-accepted benchmark that evaluates AI models’ ability to solve real-world software issues), which is actually a good state-of-the-art score. Although these are early days, the progression here is moving fast and the broadening of these tools will surely have a positive impact on the way programmers work when developing software.
Will code assistants put developers out of a job next year, or even next decade?
No, not at all and a thousand times no, this is all about elevating the developer discipline upwards from the non-code tasks associated with project administration, documentation creation, code deployment effectiveness analysis and security… and, equally, at the command line coding level, to also support developers with smarter code completion to make applications more performant, more efficient and actually more functionally complete.
{Categories} _Category: Platforms{/Categories}
{URL}https://www.forbes.com/sites/adrianbridgwater/2024/12/03/aws-extends-agentic-ai-capabilities-in-amazon-q-developer/{/URL}
{Author}Adrian Bridgwater, Senior Contributor{/Author}
{Image}https://imageio.forbes.com/specials-images/imageserve/674f3166d68d9c6bfbcedae5/0x0.jpg?format=jpg&height=600&width=1200&fit=bounds{/Image}
{Keywords}Cloud,/cloud,Innovation,/innovation,Cloud,/cloud,AI,/ai,Cloud,Cloud,standard{/Keywords}
{Source}Platforms{/Source}
{Thumb}{/Thumb}