How AI is changing the way developers work [Q&A]
The fear of software developers losing their jobs to AI is a concern for many people in the industry, but are these fears really justified?
Mike Loukides, VP of emerging tech content at O'Reilly Media, believes that AI can enhance the developer role rather than replace it. We spoke to him to find out how, with the right tools and training, the endpoint of this AI revolution won't lead to unemployment, but rather to better software.
BN: What specific software will AI have the greatest impact on and how will this enhance tech workers’ daily tasks?
ML: AI will have the biggest effect on software we already know how to write: web applications, finance, new enterprise software, and most consumer applications. It will have less of an effect on scientific research, products that are completely new or require new algorithms, and the like. It might have a significant effect on security: finding vulnerabilities (for both attackers and defenders).
At the same time, we're only starting to see AI tools that can help programmers work on legacy software -- and in most shops, maintaining old software is a large part of the job. I expect that will change in the coming year, and we’ll see more use of AI in maintaining legacy enterprise software.
BN: In what ways are you seeing AI boost productivity, accuracy, and speed in software development?
ML: I've written a number of times that the productivity increases in software development will be relatively small. First, actually writing code is a surprisingly small part of the job, and AI doesn't touch the rest. Second, AI isn’t accurate. Most guesses are that 30 percent of lines of code generated by AI are incorrect. Those errors aren't mind-bending bugs that take days to track down, but it does mean those errors have to be fixed. I think there will be a boost in programmer productivity, but we're talking 10 percent -- not 50 percent. It's 50 percent only if you’re measuring the time it takes a programmer to write a specific chunk of code -- after which he spends the remaining 80 percent of his day in meetings.
BN: Will tech teams need to restructure their roles and job responsibilities as AI continues to develop? If so why, or why not?
ML: While I don't think AI will bring about a huge increase in programmer productivity, I do think productivity will increase. That increase means that less time will be spent writing code. And that time can be spent doing the parts of the job that the software industry currently does very poorly: analyzing what users really need, and making sure that the result satisfies the users' real requirements. (Which the user may not have understood.) There's a shift from lower-level tasks to higher-level responsibilities. I don't know if this shift requires any formal restructuring, but if programmers spend more time gathering requirements, understanding requirements, demoing and testing on actual users, that will be time well spent.
BN: How can companies help employees stay ahead of emerging technologies and address the AI skills gap?
ML: The obvious answer is to help employees to get training in AI. There are many companies willing to help fill that gap. But that isn't the whole thing. Here's what I don't hear others saying: Although AI will help programmers write code, most of the job isn't writing code. To stay ahead, employees need to get better at the high level tasks: gathering requirements, designing solutions that meet those requirements, and creating software architectures that are easily adaptable as requirements change. Again, there are many training programs on these topics. So the short answer is, "offer training–but don’t fixate on AI. Make sure to offer training on the parts of the job that won’t be affected by AI."
BN: What can companies do to help their employees see AI as an enhancement to the tools they use rather than a threat to their jobs?
ML: I think programmer fear is way overstated. Programmer adoption of AI tools is already very high. We've just done a survey of our users, and preliminary results show that a substantial majority are either using or experimenting with AI-generated code. Last year, GitHub's CEO said that over 40 percent of the code checked into GitHub was AI-generated. Any professional programmer knows that there is always more work to do than there is time to do it. Tools that make them more productive aren’t threats, they’re lifesavers, and they know it.
But for everyone in the company, including programmers: Management needs to stop the, "Great, now we can lay off half of Department X because we have a bot," rhetoric. That's not true, and companies that do that are not going to perform well in the long term. Companies must provide training and retraining where necessary. If you don’t need as many customer service agents: great. You've got a bunch of people who spend a lot of their time listening to customers who have problems. Could they be retrained to help gather requirements, play a role in product testing, and understanding what customers really want? Could they be retrained to audit the output of AI-driven applications to ensure that they're behaving correctly? Companies that do that will be the ones that get ahead.