Why Software Developers Would Want AI To Write More Code
A profession built on automation would likely grow with more automation
There's been a lot of talk about AI doing the work of software engineers. As a software engineer, I have a lot of thoughts about this and even more feelings. Those boil down to two main ponits though:
1 - AI is far from doing the majority of a software engineer's job.
2 - That's actually unfortunate. More automation would result in more software engineers.
Let's start with point 1. Google's CEO has mentioned that 25% of their code is written by AI. Anecdotally, engineers at Google have claimed that a lot of this was auto-complete code included in the metric. Given my long career of seeing managers and executives game metrics for their benefit, I find this very plausible.
I've attempted to use AI to write code as well. At best, it has taken me the same amount of time to get AI to write the code properly as it would have if I had just written it all myself. The auto-complete from my IDE still produces far more than any LLM has.
So AI is not there yet. Will it be there soon? Well, there's what tech companies say and what tech companies do. This LinkedIn post makes the excellent point that if tech companies think AI will replace software engineers soon, why do they have so many job openings for engineers? OpenAI has dozens of engineer positions open. Google has over 1500.
The companies making these claims don't seem to be preparing their organizations for the inevitability of engineers being replaced. Why should we?
Now to point two: software engineers should want more automation of their job. This may depend on what they think a software engineer's job should be, but automation is only a good thing with my definition. I believe a software engineer's job is to solve problems. Being able to code is a medium for solving problems with software.
Solving those problems with software is incredibly expensive. Sotware engineers have some of the highest salaries of any profession. Combine that with the lengthy amount of time it takes to build software and you end up with a lot of areas where software is not used effectively. Example: anything that is a spreadsheet could probably be done better with a simple frontend and a SQL database. The productivity gains we've made at our firm have largely been a result of putting spreadsheets into a web app. You get better performance at scale (my partner has a spreadsheet that takes 30+ seconds to update when you change a cell) as well as fewer mistakes as it is easier to add guard rails in a web app. And yet, most businesses in nearly every industry are still using spreadsheets for a majority of use cases.
The reason is that it is not worthwhile getting custom software developed for those use cases. Spreadsheets already exist and require no additional development. The cost of replacing a spreadsheet with custom software is seven figures minimum and most businesses need to be pretty sizeable to get a decent return on that investment.
What if the cost was only five figures though? At that point, you only need to improve the efficiency of 5-10 employees for the cost of software development to be worthwhile. You open up custom software development to a much wider population of businesses. Not only that, but those businesses will likely have an easier time growing as a result of being able to invest in software. That will also result in a need for more software. Software engineers may even make more money than they are now because the increased demand would outweigh the time savings from automation.
Making things cheaper has a history of increasing demand. Look at the market for computers. Digital computers have been around since the 1940s. Adjusting for inflation, a single computer cost millions of dollars in today's currency. The market for computers increased significantly when the cost went down to thousands since more people/organizations could now afford to purchase one. Today, you can get a laptop for $100.
The cost of computers has gone down by several orders of magnitude, and yet the companies that make computers are several orders of magnitude larger than they were. There's also a software industry that's grown exponentially as the market for computers has expanded. The number of jobs in the industry has grown as well.
Given this history, even if LLMs can do 95% of what a software engineer does (and I'm doubtful of that), it would likely result in increased demand for more software as the price of software development goes down. It could also create or expand new industries just like the computer market expanded the software market. For this reason, I'm a bit sad that the number Google provided was inflated. I'm looking forward to more code being written for me by AI.