The risks and rewards of generative AI in software development
Join us in Atlanta on April 10th and explore the landscape of security workforce. We will explore the vision, benefits, and use cases of AI for security teams. Request an invite here.
As a 20-year veteran of writing code and as a CEO of a company that serves software developers, I had a reflexively skeptical reaction to early predictions that generative AI would eventually make most software development skills obsolete.
While I’m still somewhat skeptical, my experience playing with gen AI in my daily development work has prompted me to open my aperture to what I think is possible. AI will change software development in some pretty fundamental ways, both for better and for worse. Let’s start with the positives.
An end to grunt work
Developers spend an inordinate amount of time on details like syntax and punctuation. Much of this can (and should) go away. Instead of poring over manuals or piecing together snippets from code exchanges, they will describe a desired outcome and get perfectly formatted code in response. Large language models (LLMs) can also check existing code to ferret out typos, punctuation mistakes and other details that drive developers crazy.
Reinventing frameworks
Software frameworks like Spring, Express.js and Django have delivered an enormous productivity boost by abstracting away the mundane aspects of software development, setting consistent guidelines and furnishing prewritten code for common functions. Gen AI will enhance their value by creating boilerplate code, automating repetitive tasks and suggesting code optimizations. AI can also help customize framework components to a specific project.
The rise of the generalist
The stock in trade for many developers is their expertise in a particular language. Proficiency in Python or Ruby won’t matter as much when machines can spit code in any language. Similarly, specialized backend skills like testing and code optimization will quickly migrate to gen AI models. The most prized skills will be what machines don’t do well, such as building compelling user interfaces, translating user requirements into specs and inventing new ways to support customers. Software “poets,” or people who dream up big ideas of what can be accomplished in code, will own the spotlight.
A revolution in testing
Gen AI was made for software testing. The developer writes the code, and the bot creates as many test scripts as you want. A recent IDC survey found that the top two most anticipated benefits of gen AI by a wide margin are software quality assurance and security testing. This will disrupt the DevOps practice of continuous integration/deployment and send many testing specialists looking for new lines of work.
Citizen development on steroids
The current crop of low-code/no-code development tools is already good, and gen AI will take them to the next level. For all their automated elegance, low-/no-code still requires people to piece together a workflow on a whiteboard before committing it to software. In the future, they’ll be able to give the model a hand-drawn sketch of the desired workflow and get the necessary code back in seconds.
AI isn’t a panacea, though
For all its promise, gen AI shouldn’t be seen as a panacea. Consider these potential downsides.
Risk of over-testing
Because models can churn out tests quickly, we could end up with many more than we need. Over-testing is a common problem in software development, particularly in organizations that measure performance by the number of tests a team generates. Running too many duplicative or unnecessary tests slows down projects and creates bottlenecks further up the pipeline. When AI can recommend when to remove tests, then we’ll see a huge unblocking of developers — that vision of gen AI excites me for the future.
Skills degradation
“I will always choose a lazy person to do a hard job because he will find an easy way to do it,” is a quote often mistakenly attributed to Bill Gates. While the origin of the quote is unclear, the sentiment is valid. Lazy people find shortcuts that avoid the need for hard work. Gen AI is a drug for lazy developers. It can lead to the creation of bloated, inefficient and poorly performing code. It can throttle the innovation that makes great developers so valuable. Remember that gen AI writes code based on existing patterns and data. That can limit the innovative potential of developers who might not consider more out-of-the-box solutions.
Trust deficit
Gen AI is only as good as the data used to train the model. Poor quality data, training shortcuts, and lousy prompt engineering can lead to AI-generated code that doesn’t meet quality standards, is buggy or doesn’t get the job done. That can cause an organization to lose trust in the quality of gen AI and miss out on its many benefits.
Now the money question: Will AI make software developers obsolete?
Although some headline-grabbing pundits have suggested it, there’s no historical precedent for such a conclusion. Technological advancements — from high-level languages to object orientation to frameworks — have steadily made developers more productive, but demand has only grown. Gen AI could dent the market for low-end basic coding skills, but the bigger impact will be to move the entire profession up the value chain to do what LLMs don’t do very well at the moment: Innovate. Remember that gen AI models are trained on what is already known, not what could be. I don’t expect a machine to design a revolutionary user interface or dream up an Uber anytime soon.
Nevertheless, developers won’t see a transformation like this again in their careers. Instead of raging against the machine, as I initially did, they should ride the wave. The prospect of doing away with much of the tedium of building software should excite everyone. The risk that some functions may disappear should be an incentive to action. High-quality developers who translate business requirements into elegant and performant software will always be in high demand. Make it your mission to move your skills up the stack.
Keith Pitt is founder and CEO of Buildkite.
DataDecisionMakers
Welcome to the VentureBeat community!
DataDecisionMakers is where experts, including the technical people doing data work, can share data-related insights and innovation.
If you want to read about cutting-edge ideas and up-to-date information, best practices, and the future of data and data tech, join us at DataDecisionMakers.
You might even consider contributing an article of your own!