Is AI Code Generation An Age of Industrial Revolution for Software Enterprise?

Written by ratikeshmisra | Published 2024/01/02
Tech Story Tags: artificial-intelligence | ai | code-generation | developer-productivity | future-of-ai | programming | ai-programming | ai-code-development

TLDRWriting code is like an artist creating a masterpiece, putting thoughts and feelings into it. As depicted in the wagon wheel, developers allocate only 25% of their time to coding, aiming for a flow state akin to artistry. With the advent of code LLMs like CodeT5, CodeLlama, Star Coder, etc. the entire tech community is debating and innovating to make the “time to code” for developers more effective.via the TL;DR App

Writing code is like an artist creating a masterpiece, putting thoughts and feelings into it. We expect developers to enjoy the process of writing and designing code, as this careful work results in a digital product that solves real-life problems for users and provides a good experience. Developers focus on the art of writing efficient code, and tools or platforms that make delivering these coding masterpieces easier are highly appreciated by the developer community.

In this information age, the demand for digital products is at its peak, and hence, the tech industry is under immense pressure to release its products and improvements at a massive pace to gain substantial market share. The developers need to live with the continuous demand of releasing products. As depicted in the wagon wheel, developers allocate only 25% of their time to coding, aiming for a flow state akin to artistry. The tech industry grapples with challenges to boost overall developer productivity, and apparently, this was the most shocking discovery for Github CPO Inbal Shani.

This article delves into strategies to amplify the impact of that crucial 25%, exploring ways to enhance productivity within the limited coding timeframe.

With the advent of code LLMs like CodeT5, CodeLlama, Star Coder, etc., the entire tech community is debating and innovating to make the “time to code” for developers more effective, and it is exciting time to observe where the tailwinds of code generation using GenAI is headed towards and how does it impact in faster churn of code. Let’s segment and try to find answers to understand this entire situation better under these broad questions:

  • What problem do code-generation tools solve for the developers?

  • Which developer teams are experiencing it as a significant problem?

  • What are the solutions out there, and how do they solve the above-stated problem?

  • What are the possible ways to measure the effectiveness of these tools in the developer lifecycle?

1. What problem do code-generation tools solve for the developers?

Within the 25% of “time to code,” almost half of the time of a developer goes into writing the core business logic (which is true art) while the rest of his time gets occupied in either refactoring the code artifacts of his previous work, writing basic scaffoldings, writing database models (if any), basic validation and utility for generic use-cases, etc.

Given the amount of time that goes into writing the trivial flows, if these code generation tools can save at least half of the time for companies and developers, then it may enhance the overall developer experience & productivity. One of the latest survey reports of McKinsey reflects the sentiment of the developer community, which strongly resonates that at least 30-35% of their entire code writing, documenting, and refactoring time can be saved with recent code generation Gen AI models and related solutions.

2. What are the possible solutions currently out in the market?

With the advent of better LLM models, there are a bunch of companies that are solving the problem of code generation. Some of these solutions are either distributing themselves by building integration with IDEs (VS Code, IntelliJ, etc.) like Codium, Sourcegraph, Tabnine, GitHub Copilot, etc; on the other hand, there are few them who are focused on browser-based code editors like replit.

Since all these solutions introduce natural language as the new interface of programming and generating code, the quality of code generated directly depends on the prompt and context provided; currently, the incumbents like GitHub have the maximum advantage compared to all new entrants due to plethora of code database it is sitting on and advancement of OpenAI model, new entrant still have an advantage if they closely work with enterprises and handles the security and privacy concerns which have been the key huddle for GitHub Copilot like the incumbent. Recent reports of Accenture look promising for space, and also, with the recent general availability announcement of copilot chat of GitHub, the scope of innovation with these code generation solutions is opening wide.

3. What kind of developers are adopting such solutions?

Among the enterprise side of the code generation tools, GitHub CoPilot ranks #1 among all, with almost 37K enterprises using it in their workflow and having 1.5Mn+ active developers, while developers working in enterprise or startup teams mainly voted that the use of code generation tools is helpful because:

  • Repetitive and redundant code changes with changing user requirements can be accommodated swiftly.

  • Reducing the writing of boilerplate code for rapid prototyping.

  • Efficient collaboration among teams for PR generation, review, and other such use cases.

  • Reduced time to onboard the new developer.

If GitHub Copilot is seeing its active adoption among enterprise teams, a large chunk of developers’ traffic is also using these code generation tools to learn new coding skills or learn basic programming fundamentals. This can be seen with the increased use of replit.com in the past few months, with an active volume of ~3-5Mn unique developers visiting these tools monthly [src - similarweb.com]. A recent poll from GitHub also gives a clear picture of the use cases for which developers are mostly adopting these tools.

4. What are the possible ways to measure the effectiveness of these tools in the developer lifecycle?

We started this discussion by keeping developer productivity at the center and how these solutions can reduce the “time to code” and help developers ship faster, but in the software industry, it is tough to measure effectiveness and ROI just in terms of time due to it subjective quantification, but there can be other proxy ways which developer teams and engineering leaders can adopt to measure the ROI and effectiveness:

  • Measuring the relative change in DORA metrics, tools like LinearB, Middleware HQ, etc., and other open-source tools like ApacheDevLake

  • KLOC(Line of Code) generated from these tools is going live on production.

  • Relative change in Developer Experience rating.

  • Associating the financial ROI by keeping close observation on man-months needed to solve the problem.

Path Ahead

By being the tech operator in startups and writing code for so many years, I truly feel there is a bottleneck in the velocity of shipping code faster with increasing software demand, and as time unfolds and the state of code LLMs improves, we may head toward the age of mass code production compared to what we saw after the Industrial Revolution.

In the book The Mythical Man-Month, programmer Fred Brooks observed how simply adding resources to a large programming project did not speed up the project—a good deal of the time, it made things worse.

It's not yet clear if AI will dramatically help project scheduling and management or reduce the total effort required for a large programming project, but as the coder, what I can vouch for is that “prompt to code” will definitely, in some shape and form see massive adoption in the space of software development.


Written by ratikeshmisra | Techie and creator who loves developing hacks that scale, here to learn and contribute to the tech & startup community
Published by HackerNoon on 2024/01/02