The use of artificial intelligence (AI) in programming has become increasingly prevalent in recent years. While the idea of using AI for development was once considered science fiction, GitHub Copilot, Microsoft’s AI pair-programming service, was introduced in the summer of 2022, followed by ChatGPT 3.5 in November 2023. According to a new survey conducted by GitHub in partnership with Wakefield Research, “92% of US-based developers are already using AI coding tools both in and outside of work.” This survey of 500 US-based enterprise developers found that 70% of programmers believe AI is providing significant benefits to their code.
Developers have reported that AI coding tools can help them meet existing performance standards with improved code quality, faster outputs, and fewer production-level incidents. This is not limited to those working on external open-source projects or just experimenting with AI tools in their free time. Only 6% of developers reported using these tools solely outside of work, indicating that AI programming tools are now a standard part of modern business IT. The rapid adoption of AI coding tools can be attributed to the fact that they help developers achieve better code quality, faster outputs, and fewer production-level incidents.
However, Inbal Shani, GitHub’s chief product officer, cautions that measuring code volume is not the best way to measure productivity and output. She believes that empowering developers by improving their productivity, increasing their satisfaction, and enabling them to do their best work is the key to innovation at scale. The survey found that developers want to upskill, design solutions, get feedback from end users, and be evaluated on their communication skills. Generating code with AI is a means to an end, not an end in itself. Developers believe they should be judged on how they handle bugs and issues, which is more important to performance than just lines of code. Code quality over code quantity should remain a top performance metric.
The worry is that AI coding tools will make managers focus even more on simply producing more code rather than delivering good code. Mark Collier, OpenInfra Foundation COO, highlighted this issue at OpenInfra Summit in Vancouver, Canada, stating that “The Python community is grappling with code reviews of AI-generated code, often because it’s crap, and the person ‘contributing’ it can’t explain it because they didn’t write it.” While AI can write a program for you, if you don’t understand what you’re doing or the code you’re “writing,” the code will still be subpar. It is important to remember that using AI to write a Rust bubble-sort routine does not make you a programmer.
Serious developers still face other problems that AI cannot solve. For instance, developers spend as much time waiting for builds and tests as they do writing new code. These wait times still need to be addressed despite DevOps advances. This hinders programmers from learning new skills and designing solutions to novel problems. If AI and better DevOps can help programmers spend more time on these tasks, they will be happier, and companies and organizations will be more productive. Developers believe that AI coding tools will give them more time to focus on solution design, allowing them to spend more time designing new features and products rather than writing boilerplate code. The survey found that programmers are already using generative AI coding tools to automate parts of their workflow. This frees up time for more collaborative projects like security reviews, planning, and pair programming.
In conclusion, while AI is helping developers at an unprecedented rate, it is not replacing them. AI can make developers happier and the entire programming effort faster and more productive if used properly. However, it is important to remember that AI is not a substitute for good programming skills. Developers must still focus on code quality over code quantity and ensure that they understand the code they are writing, whether generated by AI or not. AI coding tools can help developers achieve better code quality, faster outputs, and fewer production-level incidents, but they must not be used solely to produce more lines of code.