Speed and Skill: How AI Developers Are Transforming Traditional Coding

01 Sep, 2023

The Evolution of Abstraction in Software Development

The story of software development is a saga of evolving abstractions. It’s a journey from the raw simplicity of Assembler to the sophisticated capabilities of modern JavaScript frameworks such as Node.js and React. These stages of evolution have consistently focused on achieving higher levels of abstraction to enable more developers to create. At Pragmatic DLT (PDLT), we believe that the march toward abstraction continues. The future, as we see it, is a software development ecosystem aided to a great extent by low-level machine (LLM) learning, which will offer a syntax that is nearer to natural language. The complexities associated with syntax peculiarities will be proficiently outsourced to transformers, democratizing the terrain of software development.

For instance, in a study by Stack Overflow, a surprising 41% of developers deemed the learning of syntax peculiarities unnecessary in the next iteration of software development.

Envisaging such a transition immediately prompts the question: how will it influence the developers and coding fraternity? In search of the answer, our team at PDLT dove deep into the prevailing literature and came across an insightful McKinsey research on the impact of Generative AI tools on software development. It is this research and our analysis of it that forms the basis of this article.

According to Evans Data Corporation, the number of developers worldwide is projected to grow from 23.9 million in 2019 to 28.7 million in 2024. A simplified, more accessible coding language could significantly accelerate this growth. As Grady Booch, IBM Fellow, puts it, “The future of coding is no coding at all.”

Tools like OpenAI’s Codex are already showing promise in converting natural language to code, reducing the cognitive load for developers.

Recently, our team came across an intriguing McKinsey study that delves into the impact of generative AI-based tools on software development. Being one of the top AI consulting companies, PDLT team could not stand aside and we wanted to comment the thorough research our collegues from McKinsey did.

McKinsey’s approach to understanding the role of AI in the future of software development was solid – they established a lab involving over 40 company developers from across the US and Asia. These developers, with varying years of experience, served as the test bed for assessing the developments in the software industry, more so the impact of generative AI–based tools on coding productivity. The study involved:

We see this research as a cornerstone in the ongoing conversation about how AI is poised to revolutionize the development sector. Our aim in this piece is to provide PDLT’s nuanced perspective on these findings and their implications for AI developers, AI development companies, and those seeking AI development services.

The New Landscape: AI for Developers

In a bid to expedite software development, technology pioneers are turning to generative AI. However, harnessing the full potential of this game-changing technology takes more than just sophisticated tools. As per our most recent findings, which build on extensive empirical research, the use of generative AI can lead to significant speed enhancements on many standard developer tasks.

AI developers speed increase

These time savings can be harnessed to boost productivity significantly, surpassing previous engineering productivity improvements, driven by innovative tools and workflows.

However, our research also highlights that the extent of time savings can fluctuate based on the task’s complexity and the developer’s expertise. Time savings can drop below 10% for highly complex tasks, often due to developers’ unfamiliarity with certain programming frameworks. The same is true for developers with less than one year of experience, with some tasks taking these junior developers 7 to 10 percent more time when using these tools rather than not.

Quality over Speed

Importantly, quality hasn’t been compromised in the pursuit of speed. AI-assisted coding resulted in slightly improved code quality concerning bugs, maintainability, and readability, all crucial for code reusability. This improvement indicates that generative AI is best utilized to supplement developers, not to replace them.

Therefore, to uphold quality, developers must comprehend the characteristics that constitute quality code and guide the tool to produce the desired results accurately.

This research implies that to optimize productivity using generative AI tools and negate potential risks, engineering leaders must adopt a systematic approach. This includes generative AI training and coaching, careful selection of use cases, workforce upskilling, and implementing solid risk controls.

Use-cases for Generative AI Developers would appreciate

In this examination, McKinsey’s developers were presented with rudimentary assignments usually handled by software teams; these included code refactoring into microservices, customer experience enhancement by introducing new application functionalities, and documenting code capabilities for smoother future modifications.

Authors found that Generative AI–torqued tools greatly amplified productivity in these four particular areas:

  1. Rapid Completion of Monotonous Work

Generative AI has shown remarkable proficiency in automating routine tasks. This includes auto-filling standard coding functions, wrapping up coding statements mid-way through typing, and documenting functional aspects of the code in standardized formats. AI development services like these free developers from monotonous tasks, allowing them to tackle complex business hurdles and accelerate innovative software development.

  1. Prompt Generation of Fresh Code

The research illuminated how generative AI generated pertinent code suggestions when given a prompt by developers facing a blank screen. This AI for developers significantly reduced the spin-up time, helping them immerse into the “flow” of coding more swiftly. It’s important to remember that it’s not always necessary to use chatbot as a UX in every AI application, as recommended by top user experience consultants

  1. Speeding up Modifications to Established Code

This speedy automation extends to coding modifications as well. Effective prompting led to quicker adjustments to existing code. For instance, to avoid the time-intensive process of tweaking code borrowed from online coding libraries or optimizing pre-existing code, developers could use these prompts to give iterative directives to the AI software development tool regarding the adjustments needed.

  1. Enhancing Developers’ Competence in Handling Novel Challenges

Even when it came to more demanding tasks, the research identified benefits of generative AI–based tools: these tools enabled developers to quickly familiarize themselves with previously unknown codebases, languages, or frameworks. Like a seasoned colleague, these AI developers facilitated knowledge enrichment, concept explanation, synthesis of information, and the provision of methodical guides to use a framework. This elevated the efficiency levels of developers using generative AI-based tools by 25-30% compared to those employing traditional methods.

AI developers accuracy increase

These productivity enhancements aren’t the sole benefits, however. The study found that boosting developers’ productivity improved the developer experience overall. This improvement, in turn, can enhance talent recruitment and retention efforts for companies. The use of generative AI–based tools led to twice the reported levels of overall fulfillment, happiness, and a state of flow among developers. These AI development services automate mundane tasks and augment access to information more rapidly than manually scanning disparate online platforms for solutions.

Where AI would still need significant Developer’s expertise

While AI technologies possess extensive potential, McKinsey’s detailed study reveals that their efficacy is highly dependent on the proficiency of the engineers employing them. Specifically, three critical areas have been identified where human intervention remains irreplaceable:

1. Identifying and Rectifying Code Defects: Based on the feedback given by several participants, AI-based generative tools often suggested incorrect coding solutions, if not outright creating new coding errors. One participant stated the necessity to supply frequent prompts to revise a tool’s faulty assumptions, enabling the participant to retrieve the accurate response. Another developer needed to guide the tool meticulously to debug the code appropriately.

2. Injecting Organizational Insight: AI tools, despite their advanced coding abilities, lack understanding of specific project prerequisites and organizational demands. For example, software applications must flawlessly blend with other existing functions, align with the company’s performance and security protocols, and cater to the demands of the end-users. According to the feedback of the participants, software developers must feed these tools the essential information. This includes details about the context of the code usage, the types of interfaces it will engage with, the data it will handle, and more.

3. Handling Complex Coding Parameters: Participant feedback indicated that AI-based generative tools were adept at managing simple tasks, such as enhancing a snippet of code. However, they struggle with complex tasks like incorporating multiple frameworks with distinct code logics. One of the participants explained that he had to either manually integrate components or divide the code into smaller portions to fulfill a multi-faceted requirement. Highlighting the limitation of AI tools, another participant concluded, “Generative AI struggles when the complexity of the problem rises and needs an overarching view.”

AI developers satisfaction increase

Recommentation from top AI Consultants to Technology Companies

Incorporating generative AI in software development offers significant potential for productivity improvements and time savings. However, translating these opportunities into tangible gains, while minimizing risk, poses a challenge for technology leaders. Drawing on the experiences of research participants, McKinsey’s strategy illuminates four key areas for transformation: developer skill development, advanced use cases pursuit, skill shifts planning, and risk management.

Developer Training in Generative AI

Generative AI technology can substantially supplement daily software development tasks. Yet, to leverage it to its full potential, developers need both training and coaching. This training should provide:

Even though these subjects form the core of the initial training, McKinsey emphasizes the continuous need for developer skill development which can be achieved through ongoing coaching and community building. This approach fosters continuous learning, promotes sharing of best practices, and helps identify potential issues at an early stage.

Advanced Use Cases Beyond Code Generation

McKinsey’s research highlights generative AI’s capabilities beyond simply generating new code. Advanced applications of AI could play a pivotal role in tasks such as refactoring existing code or modernizing resource-intensive legacy applications. By using generative AI–based tools to manage these tasks, developers could redirect their efforts towards tackling a backlog of improvements or boosting architectural performance across the software platform. However, McKinsey advises a careful assessment of tooling before deploying new use cases, as different tools specialize in distinct areas.

Anticipating and Planning for Skill Shifts

As AI tools augment developer productivity, leaders must plan for the inherent skill shifts. The surge in productivity may create a new capacity within the organization, calling for strategic decision-making about how to best use the additional capacity and address emerging skill gaps.

Implementation of Risk Controls

Generative AI–based tools introduce new risks regarding data, intellectual property, and regulatory compliance. Leaders should anticipate these risks and develop appropriate governance strategies to handle potential challenges such as data privacy, AI behavioral vulnerabilities, legal and regulatory changes, ethics, reputational issues, and security vulnerabilities.

In conclusion, the implementation of generative AI is set to revolutionize software development at a pace and scale unprecedented by other tools or process improvements. However, the full potential of this technology can only be realized with a structured approach that encompasses thorough generative AI training, strategic use case selection, workforce upskilling, and stringent risk controls. McKinsey’s strategy offers a robust foundation for organizations aiming to leverage generative AI’s promise of extraordinary productivity and innovative software development.

Testimonials

Let’s build something great together