How AI is going to shape the developer experience [Q&A]
Recent developments in generative AI have led to a good deal of debate around whether jobs are at risk. Since new AI applications like OpenAI Codex and Copilot can write code, developers could be among those under threat.
We spoke to Trisha Gee, lead developer evangelist at Gradle, to find out more about how AI is likely to change the way developers work.
BN: Could AI actually replace developer roles?
TG: It's understandable that the recent explosion of generative AI has popularized fears that this technology could displace workers, especially software developers. AI applications have the ability to write content, create visuals, and even pass medical, law, and business school exams. In the software space specifically, AI applications like OpenAI Codex and GitHub Copilot even have the ability to write code. However, I do not believe that AI will be replacing developers any time soon.
To me, AI represents yet another advancement in a long line of tools that have changed the way developers work. For example, when code generation features in IDEs first came out, they were initially met with skepticism. Developers saw that this technology had the ability to generate code and tests for the code, and feared that it could make their jobs obsolete. Today, these tools are widely embraced for their ability to make developers' jobs easier. Similarly, I see AI as an addition to the developer's toolkit, rather than a replacement for the developer themselves.
BN: What changes will it bring to developer working patterns and experience?
TG: Just like with any new productivity tool, developers will need to learn and refine new skills in order to leverage AI effectively. A good comparison to this is the advent of internet search engines like Google back in the late 1990s and early 2000s. While these search engines alleviated a lot of the upfront work in researching, users still had to learn how to search for the right terms and sort through all of the results. While generative AI can take care of repetitive tasks like writing boilerplate code, developers must be able to filter through the AI-generated code, check that it does what it's supposed to do (and no more!) and apply it appropriately within their codebase.
Additionally, by handling a lot of the 'busy work', AI will free up developers so they can spend more time on higher-level tasks and innovation. We’ve already started to see this with the use of machine learning in features like predictive test selection which help optimize the build and test process and give back developers more time. Rather than spending hours writing code and running the whole automated test suite, developers are allowed to focus on thinking strategically about the bigger picture, ensuring that the product meets the business' needs, and that it is scalable.
BN: Are some areas of development more suited to being handled by AI?
TG: AI is better leveraged to handle well-understood, repetitive, time-consuming tasks such as writing boilerplate code. AI can help further alleviate developers from mundane tasks so they can get back to the more creative and innovative parts of the job, which AI isn't as well suited to handle. While AI may be able to answer the question "How can we do this?" developers are in a better position to answer "What should we do here? Why are we doing this? Is this the correct approach? What are the possible pitfalls?"
BN: Will we see the appearance of new roles that didn't exist before AI?
TG: Rather than the emergence of new roles, I believe we will see a shift in the existing roles within the software development ecosystem. AI will add to the skills you need to be a successful developer. Developers who can look at code -- whether it was generated by AI or exists already in the codebase -- and decide if it is fit for purpose will thrive in environments that use generative AI. Additionally, developers who are good at figuring out which code is not needed (a skill which is already relevant in the context of large codebases) will also add a lot of value to their teams and the applications they’re working on.
BN: How can enterprises help their developers navigate through these changes?
TG: While AI has the ability to significantly accelerate software development, this will prompt the need for better automated test coverage, which may need to be run more often. If the build or test cycle is slow and unreliable, this will create bottlenecks and disrupt a developer’s productivity and creative flow. Additionally, AI contributes to the age-old problem of 'Big Code,' in which developers experience frequent blockages due to the growing size of their codebase. To stay ahead of these challenges, it will be vital for IT leadership to be proactive about investing in the right tools to give developers more efficient ways to identify and resolve code issues and save them the time they might have spent troubleshooting the problems.
As developers start to spend more time dedicated to high-cognitive load tasks and innovation, it will also be crucial for companies to provide their developers with a great work environment and efficient tool chain to prevent them from burning out. Soon, there will be a competitive divide between companies who do this well and those who do not. It's becoming more and more urgent that companies make developer experience a priority, and the integration of AI in the software development process will further exacerbate this need. One way to do this is by adopting emerging practices like Developer Productivity Engineering (DPE) which focus on the tool chain and developer happiness.