Software programmers are looking over their shoulders these days, fretting about how quickly large language artificial intelligence models seem to be gaining on them and, specifically, whether those models threaten their jobs.
Their fears are somewhat understandable. After all, ChatGPT, GitHub CoPilot, Google Codey, and a growing list of other models are available to help programmers write code. And a few companies may see AI models and programmers as interchangeable parts that can be easily swapped. But despite the anxiety, the number of programmers who will actually be replaced by AI is negligible.
Programmers are still in high demand, even amid widespread layoffs affecting other jobs. In addition, the main benefit of AI models in programming has been as tools that assist programmers in building code. Neither of those two things are going to change anytime soon. What will change is how programming is done, with AI and programmers working together.
Developers Still Have Plenty to Do
There is much more to a developer’s workday than simply generating programming code. Meetings (whether productive or not), code reviews, testing, documentation, gathering (and understanding) requirements take roughly 80% of a developer’s time; they only spend 20% of their time writing code. Bringing ChatGPT or another AI model into the picture won’t eliminate that one-fifth of the job. Developers will have to write detailed prompts telling the AI what to do. They will have to test and debug the code generated by AI models, which frequently generate incorrect code. Measured that way, if AI-generated code makes developers 50% more efficient in generating code – and that’s probably optimistic – it still represents only a 10% increase in productivity overall.
A 10% increase in productivity is significant, but even that savings will be eaten up by other tasks. Security auditing will likely become more important, since programmers will have to work to understand the potential repercussions of code they didn’t write. Understanding “legacy” code to add new features also becomes more difficult: AI models still aren’t very good at understanding how large software systems work. And AI models still aren’t very good at high-level design and software architecture.
This isn’t to say that AI won’t have benefits. Letting AI eliminate time spent looking up documentation and searching StackOverflow, or letting AI generate code and documentation even if it’s only a rough draft, will allow developers to spend more time on design, testing, and other tasks that improve the quality of the final product.
Making Developers More Efficient
While we’ve all been impressed by the ability of tools like ChatGPT to generate good-looking code from a simple prompt, don’t be fooled: if you’re working on real-world software, you’ll need detailed prompts that specify exactly what you want ChatGPT to do. You frequently have to tell ChatGPT how you want it to do what you want it to do. What’s the overall design, what’s the stack, what external libraries and APIs to use: this is all information that the model needs, spelled out in full.
Writing a detailed prompt is just a different way of programming—giving thorough, comprehensive instructions on what you want a computer to do. It’s programming at an even higher level, without the need for formalized syntax or semantics. This new kind of programming may be closer to the way human brains actually work. But human programmers are just as indispensable as they were before AI started to steal the spotlight.
Meanwhile, developers can put the time they save into collaborating with users about their needs—an important practice that has often been overlooked—along with refining designs and ensuring security.
Training for the Future
In venturing toward this new way of programming, developers will need to develop some new skills. For one thing, they will need to learn more about working face-to-face with customers to discover their needs and design software that best meets them. And they’ll also need to learn more about the working of powerful but less than perfect AI tools.
A recent O’Reilly report on developer productivity found that the biggest challenges developers face with new tools are training, cited by 34% of survey respondents, and ease of use, named by 12%. That’s a total of 46% of developers saying that new productivity tools come with a learning curve attached. As companies adopt AI tools to complement their developer teams, they should incorporate training and skills development into the process.
AI Will Change Programming for the Better, With Developer Guidance
The scary stories about AI threatening programmers’ jobs are overblown. Rather than supplanting the need for programming and eliminating jobs, AI is going to change how programming is done, and change it for the better.
By taking over the job of writing the code—guided by detailed prompts from the developer—an AI can save developers up to 20% or so of their time, allowing them to spend more time on customer collaboration, design, security, and other steps to ensure quality software. They will be better able to respond to change and make improvements. Ultimately, developers’ time, like the developers themselves, will become more valuable.
It won’t happen automatically, however. Like other new productivity tools, AI models have a learning curve. Training should be a part of plans to make the best use of what is a powerful new tool. AI models that are tested and properly incorporated into the programming pipeline will free developers to spend more time refining the product.
With AI, developers aren’t going to lose a job; they’ll have a better job.
About the Author
Mike Loukides is the vice president of emerging tech content at O’Reilly Media. He’s particularly interested in programming languages, Unix, AI, and system and network administration. Mike is the author of System Performance Tuning and a coauthor of Unix Power Tools and Ethics and Data Science. Most recently he’s been writing about data and artificial intelligence, ethics, and the future of programming.
Sign up for the free insideBIGDATA newsletter.
Join us on Twitter: https://twitter.com/InsideBigData1
Join us on LinkedIn: https://www.linkedin.com/company/insidebigdata/
Join us on Facebook: https://www.facebook.com/insideBIGDATANOW