The debate surrounding the extent to which generative AI can assist coders is currently a hot topic. ZDNET’s David Gewirtz has conducted experiments suggesting that OpenAI’s ChatGPT can produce “pretty good code.” However, conflicting studies indicate that large language models like GPT-4 fall short of human coders in terms of overall code quality.
Despite the ongoing debate, some argue that the real impact of AI on coding lies in transforming the nature of a programmer’s job. In a recent interview with ZDNET, Inbal Shani, Chief Product Officer for GitHub, Microsoft’s developer site, emphasized that the key change brought about by generative AI is the creation of an abstraction layer, specifically in natural language. Initially used for code completion, this abstraction layer has the potential to extend to various other AI applications beyond completing code snippets.
GitHub introduced GitHub Copilot in June 2021, which Shani describes as a transformative tool for AI in programming. Microsoft CEO Satya Nadella revealed in October that Copilot has garnered over a million paying customers and is utilized by more than 37,000 organizations.
Shani highlighted Accenture as a notable Copilot user, stating that the tool significantly reduced boilerplate code, the repetitive code developers often find burdensome. According to Shani, Accenture retained 88.5% of the code written by Copilot, indicating high accuracy and fidelity. The use of Copilot at Accenture also resulted in a 15% increase in completed pull requests on time, demonstrating improved productivity.
Shani noted that developers often spend less than two hours a day writing code, engaging in various tasks throughout the software development lifecycle. By automating certain tasks with Copilot, developers can potentially reclaim time for more strategic activities such as architectural planning.
The impact of tools like Copilot on productivity is still being measured and defined. Shani acknowledged the ongoing challenge of quantifying productivity increases and emphasized the importance of understanding the concept of “developer happiness” beyond mere lines of code written.
One significant benefit of the new abstraction layer is a reduction in the need to switch between different tools. Copilot, for instance, integrates natural language assistance directly into the integrated development environment (IDE), minimizing context-switching for developers and contributing to their overall satisfaction.
Copilot is expanding its influence beyond code completion and is being used by companies like Shopify for coding interviews and onboarding new programmers. Shani acknowledged the importance of prompt engineering in maximizing the effectiveness of tools like Copilot and mentioned ongoing efforts to help users ask the right questions.
Looking ahead, GitHub plans to release an enterprise version of Copilot in February, allowing for more customization based on individual developer preferences. The enterprise edition aims to centralize AI-driven workflows across the entire software development process, from inception to production.
Shani addressed concerns about AI potentially replacing developers, asserting that she believes this won’t happen in the next five to ten years. Instead, she sees AI evolving alongside developers, much like previous shifts in programming languages.
In conclusion, while the impact of AI Copilots on project scheduling and management is still uncertain, Shani is optimistic that, if used effectively, these tools can contribute to smoother and more efficient development processes, potentially shortening the time required to deliver projects.