AI-led development - Balancing risk with innovation
Tags: aws, codewhisperer, ai, development
Published: 2023-06-29 16:55:06

## Preamble  

When I graduated in the year 2000, there were concerns that the transition from the 99s to the 00s would bring the world to a halt. However, not only did we all navigate through that period successfully, but we also witnessed and embraced significant technological revolutions over the last two decades. These include, but are not limited to,

- **The Mobile Revolution:** The widespread adoption of smartphones and mobile devices transformed the way we communicate and access information globally. 
- **The Rise of Social Media:** Social media platforms revolutionized how we connect, communicate, and share our lives with others on a global scale. 
- **The Cloud Computing Revolution:** Cloud computing introduced new design principles that prioritize resilience and scalability, enabling businesses to leverage powerful computing resources without the need for extensive physical infrastructure. 
- **The E-commerce Revolution:** The rise of online shopping has reshaped the retail industry, providing convenience and access to a wide range of products and services. 
- **The IoT Revolution:** The Internet of Things (IoT) has infiltrated various sectors, from industries to agriculture, enabling the connection and automation of devices, leading to increased efficiency and productivity. 
- **The Big Data Revolution:** The advent of big data has transformed the way we analyze and utilize vast amounts of information, unlocking valuable insights and driving innovation across industries. 

These technological revolutions have significantly impacted society, industries, and the way we live and work.  

And now with AI, we are back with the most bothering question of how we are going to balance the risk with innovation when it comes to AL-led development. 

Let us start by diving into the current hurdles that developers deal with daily: 
- They spend a significant portion of their time manually developing code that is straightforward and undifferentiating (e.g., unit tests, string manipulation, processing lists, uploading files, etc.). 
- Additionally, they also spend a lot of time exploring, learning and keeping up with a complex and ever-changing tool and technology landscape, e.g., new programming languages, SDKs, APIs, frameworks, etc. 

This leaves less time available to develop new creative, differentiated or business-critical capabilities. Developers try to overcome time pressure by learning from each other and by sharing code through developer forums, which oftentimes results in inadvertent copying of code that may unintentionally violate open-source software copyrights or licenses. 

The time pressure, code reuse from external sources and lack of widespread expertise in continuously evolving software threats often allows security vulnerabilities to creep into the codebase 

## Amazon CodeWhisperer: Code with confidence with the tool of your choice 

AI programming companions, like CodeWhisper and Co-pilot, are designed to assist developers by providing code snippets and suggestions. They leverage artificial intelligence to enhance coding productivity and offer valuable insights during the development process. These tools aim to streamline coding workflows and provide developers with valuable support and assistance in their programming tasks. 

Code Generating capability of GenAI in general can boost developer productivity significantly. Let’s take Amazon CodeWhisperer as an example.  

Code Generating capability of GenAI can boost developer productivity significantly. Amazon ran a productivity challenge, and participants who used their GenAI (CodeWhisperer) were 27% more likely to complete tasks successfully and did so an average of 57% faster than those who did not use CodeWhisperer. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zawrxtiuzuchf5cwpuj9.png)

## Enhance your coding experience with Amazon CodeWhisperer 

Avoid copying code from the internet; instead, leverage the AI Code Companion to provide reliable and safe code suggestions, complete with references to open-source licenses directly in your IDE! 🚀💻 

With Amazon CodeWhisperer, you can generate code suggestions that include reference tracking and project license information. 

Unlike many other AI code companions, Codewhisperer is available for individual developers free of charge. 

Discover the power of AI for efficient coding: Slash Your Time by 57% and Achieve Results! Learn More: https://go.aws/44XE8Lg 

## Drive Innovation with Generative AI-led development 
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fmnihit2zd5mcbmzkha.png)

- _<u>Accelerate time-consuming tasks or help adopt unfamiliar technology quickly  </u>_
GenAI can automatically generate code for any coding task such as unit tests generation, or file processing, or help you become productive using unfamiliar SDKs such as when building web applications with new frameworks. 

- <u>_Help accelerate and improve the quality of coding _</u>
Imagine your organization needs very high skills in development on a particular cloud platform or framework (ex. AWS). GenAI simplifies the development of robust, complex applications with high-quality code suggestions that incorporate best practices for consuming popular services such as Amazon EC2, AWS Lambda, and Amazon S3. Organizations that struggle to find AWS developers to adopt various AWS services can rely on GenAI to help their current developers up-level their AWS skills and develop high quality codes, at a deeper level, faster. 
 
- <u>_Help enhance application security_</u> - Scan code for hard-to-find vulnerabilities that don’t meet AWS and industry security best practices. Get suggestions to remediate detected code vulnerabilities. 

The time saved from tasks such as this can be directly utilised for higher order tasks such as interacting with users and innovating new use cases. 

## Do the benefits outweigh the risks? 

I recommend these questions to measure the benefits over the risks: 

- How much coding time do your developers spend on learning new technologies/APIs or writing boilerplate code? If your developers could eliminate that time, and use it to build business critical features, what impact would it have on your business? 

- Would you like to use cloud services (say AWS), but find it hard to get AWS expertise that can help you go faster? 

- How much does your organization rely on open-source technologies? Are you concerned about the unintentional violation of open source copyright or license? 

- How much does it cost to catch security vulnerabilities late in your development cycles? 

- How much developer time could you free up if you could find many of these issues right at the coding stage, rather than in production? What impact would this have on your customer experience and brand reputation? 

At this stage, I am convinced that when we apply GenAI for the right use cases as above, the benefits will outweigh the risks. However ethical challenges like biases and maturity of generative AI should be taken into consideration as well.

## What does balance look like? 

Finding the middle ground is crucial when it comes to balance. On one side, it involves empowering creativity and innovation, allowing for the creation of unique and impressive content like artwork, music, or text. On the other side, it requires ensuring that these creations adhere to ethical guidelines and do not violate any intellectual property rights. 
 
Further let's focus on the outcome once you can achieve that balance.  

- From a technical perspective, the balanced outcome is an improvement in the developer experience and productivity. This happens when GenAI generates quality source code for mundane tasks. 

- From a business perspective, the balanced outcome is an improvement in the velocity of launching new features and functions. 

## Does AI-led development lead to workforce reductions? 

When cloud adoption initially emerged, similar concerns were raised, questioning its impact on job roles. However, rather than leading to job reductions, cloud adoption has spurred the creation of numerous new and diverse job functions. 

AI technologies have the potential to automate tasks, improve efficiency, and boost productivity. However, it is important to note that AI is typically employed to enhance human capabilities rather than completely replace job functions. Additionally, AI can create new opportunities and roles that rely on human expertise. Therefore, it is crucial to recognize that AI's impact is more about augmenting human capabilities rather than eliminating entire job functions. 

From a personal perspective, technological advancements always unlock new doors of opportunities, urging us to upskill ourselves and embrace the ever-evolving world of technology. Let's march forward and embrace these opportunities with enthusiasm. 

## Are we moving in the right direction? 

It is premature to make definitive predictions at this stage, as we are still in the early phases and experiencing the hype-cycle of GenAI. Developers within large organizations are just beginning to assess GenAI's scalability. If GenAI delivers on its promises with its current capabilities, we may be entering a new era. 

In the process of technological revolution, it is possible that some job roles may undergo transformations or become obsolete. However, it's important to emphasize that this dynamic environment also opens up new avenues for job creation and economic growth. As industries evolve and embrace emerging technologies, new and exciting opportunities emerge for individuals to contribute their skills and expertise. It's a time of positive change, where individuals can adapt, upskill, and explore new horizons, ultimately leading to a more innovative and prosperous workforce.