What do developers want from AI Assistants?
There has never been a better time to be a software developer. You’ve heard that enough … right? I truly believe so. With the advent of AI Code Assistants / AI Pair Programmer or other similar terms to describe the same thing, where does that leave software developers?
There is a camp that says that AI will take away software developer jobs? We’ve also been hearing that our younger generation should no longer learn programming? There are folks on the other side, who say that these AI code assistants are going to help the software developer get better? I believe that each of these views have some truth to it but the context and details matter. In this article, I am here to highlight the view “AI Code Assistants are going to help the software developer get better”
Let’s cut through the noise first and dig a little deeper into what do we mean when we say that AI assistants are going to help the software developers get better or more efficient in doing their jobs. I have intentionally highlighted the words : better, efficient and jobs.
The word “better” and “efficient” is something that I will interpret as a given because any help that the assistants give to do our jobs, will be a positive outcome. And with every strong trend, like the one we are seeing now with AI Code Assistants, we are likely to see increasing investments and once the hype is settled and as adoption grows, we all benefit from these tools getting better and better at what they do.
So, lets move on to the 3rd word in there : jobs. It begs the question, What is the job of a software developer? We are likely to get tons of views again over there and my goal in this article is to highlight a couple of surveys that flip the question around “what are the jobs or tasks that software developers would like the AI Code Assistants to do?”. That should give us a good glimpse into not just the kind of activities that a developer does, but areas where they are hinting they need help to get more of it done in less time, more efficiently, faster, etc.
First up, is the RedMonk study titled “10 Things Developers Want from AI Code Assistants” (November 2023)
I have taken the liberty here to summarize this into a table given below:
Check out another survey, this time from Stack Overflow (2023 Developer Survey). The chart below looks at what developers are using it for.
The next chart presents an interesting view (what they plan or would be interested in using it for):
It would be fair to say that 3 areas that commonly come up from this are:
- Code Generation
- Testing
- Understanding Code, Documenting it, Getting information
One can argue what is new in all of this? You did not need this trend to identify tasks that the software developers were supposed to be doing in any case.
This brings me to the point that I wish to highlight in this article and its clearly addressed to Managers, who are leading software development teams. The surveys above clearly shows that today, teams are using AI code assistants in multiple areas and/or are planning to use it. Getting help to get better at their roles, getting more work done efficiently, while still focusing on quality can have a transformative impact on the team.
Call to Action
You should look at investing your time into understanding and using these tools today in your team. Chances are that some of your developers are already familiar with them, have given them a try and have interesting data to share. The recommended approach would be to look at building out a Proof of Concept application utilising these tools, understand areas (both the most requested ones and even others from the list above) where the tools are making a positive difference. Do keep in mind that these tools are not perfect and have limitations, so look at their outputs carefully.
Happy Developers lead to positive business outcomes and the AI Code Assistants can play a big role in making the development process better and more efficient.