As developers shift to AI coding, the nature of engineering is changing
When you think about coding, it’s a job that has always demanded a deep understanding of math and logic, but it was never just about the code. It was about understanding the underlying problem, building a software spec to solve that problem and knowing the systems where that software would run.
Today, AI is putting the software engineering role in flux. If the AI is doing some or most of the coding part, how does that change what it means to be a software engineer? Clearly, the vast majority of teams are generating some code with AI. Finding the exact percentage is a bit trickier.
In a blog post last month ahead of Google Cloud Next, CEO Sundar Pichai claimed that 75% of its new code at Google is being generated by AI, up from 50% last fall. A recent survey of 219 engineering leaders by Augment Code, an AI coding startup, found that 48% of code was being AI-generated.
All of these numbers come with some level of bias, but if you accept that around half of all code is AI-generated, then it's probably only a matter of time before that number increases. As it does, the software engineering job is inevitably going to change. How that shift will manifest itself, and what it means for the software development pipeline as a whole, are questions we’re only beginning to answer.
Evolving skill sets
Intuit CTO Alex Balazs, who manages a team of 8000 engineers, has been working in engineering for over 30 years as both a practitioner and a manager, and he sees how AI is changing the job. He says he now calls the role builder, rather than developer to better reflect the new way of working.
"Pretty much every major company is creating roles that we just simply refer to as a builder, and the builder is someone that just can basically take all the tools and create an outcome." Interestingly Balazs says that person isn't necessarily always going to need an engineering background. As the role evolves, it could involve a mix of technical and non-technical people.
"Sometimes you hire builders and they have a computer science background, and sometimes they have a degree in art or English, and it doesn't matter. Do they actually know how to bring these things together and create an outcome?" In the future he sees jobs like product management, design and engineering that require specialization today coming together, a shift that will require a different kind of employee. "No one really knows the answer, but one thing that we do know is that roles are becoming hybrid, where deep specialization is going to become less important."
MetLife CIO Nick Nadgauda says that the job will become more about telling the agents how to build the software, than doing the coding itself. "What we call prompting, I think it's what we're going to call software development going forward, at least on the change aspects," Nadgauda told FastForward. "You just have to do it in English or some other language versus Python or something like that," he said.
Balazs agrees. "The skill moves from I actually know the semantics and the mechanics of the coding language to I know how software works, and therefore I have to be really good at understanding how software can work together," he said.
Looking at a higher level
Steve Tarcza, director of Amazon Stores, says his team works with developers to use AI to speed up feature delivery. After surveying developers across the organization last year, they found coding made up only about 25% to 30% of the job. That led them to encourage broad experimentation so engineers would use AI tools more often and help increase new feature velocity.
"If we wanted to get the value from AI, we needed to think about how we apply it across all of the work that developers do to get these great features out to customers for Amazon." But the company still sees the AI-generated code as a first draft and the human engineers have the final say, which is in stark contrast to some leaders who suggest that it's replacing engineers.
"The guidance that we give them is to say that AI will produce really good results, but you still need to use your judgment and your discretion to close whatever gaps are there," he said.
Balazs sees this shift as understanding how software works and how it fits across an entire system of hardware and software because no code stands alone. "From a philosophical change, the skills that are required by the builders, the software engineers, are to really understand software architecture, to know what great software actually looks like, and how you make sure that the coding agent builds software that actually solves the problem, is high quality, can scale, and is not full of defects," he said.
~Alex Balazs, Intuit CTO
This is all well and good, but engineers are people, and people have anxiety around major change, especially a technology that potentially threatens their core skill set. The Augment survey reflects this with nearly two-thirds of leaders saying their engineers worry about skill erosion, 55% of respondents are concerned about losing a shared understanding of the code base and 39% are still anxious about confidently shipping a quality release candidate.
You may also be wondering where junior engineers fit in this because judgement about the quality of the output really only comes with experience. As Nadgauda says, younger workers bring something the experienced folks can't, which is a native understanding of modern technology, and they can also bring a fresh perspective to the problem solving part of the job.
Tarcza recognizes this inherent tension between automation and control and the anxiety that can bring to employees, but he believes that humans should remain in control of the process. "I'm really adamant that we need to use AI to shape our outcomes, not let it shape us."