Will AI Replace Software Engineers?
Humans are notoriously bad at predicting the future, but very resilient at adapting when we must.
State of the tech market
I have a good friend who’s a mechanical engineer. His company helps design and build out data centers. He mentions it’s boom times like nothing he’s seen. They are a small business and overloaded with demand. They simply can’t hire fast enough. A big part of this is due to the generative AI boom.
The conversation made me reflect on the current market for software engineers, and tech in general. If you’re in tech, you know about the software hiring slowdowns and layoffs. Interest rates continue to be high and companies are hesitant to grow too fast and keep operating expenses low.
The chart above is the best I’ve seen to explain the phenomenon of tech job postings falling with rising interest rates. The blue line shows the number of software development job postings and the red line is the rising interest rates. (source)
For a long time, engineers were seen as a moat. Hiring engineers during the 2010s was a signal to venture capitalists that a company is in a growth trajectory. While this has resulted some companies hiring beyond the business needs, tech became a industry where demand always would exceed supply.
The AI boom
I started my career when the industry was just entering the “Big Data” era. All of a sudden, companies had internet scale data, without knowledge of what could be inferred. MapReduce, Hadoop, Pandas etc come out in that era which are still foundations of data work in companies.
We are now in another era of AI after ChatGPT and LLMs became mainstream. You can now converse in natural language with a machine which is utterly incredible.
One emergent ability has been the capability of LLMs to produce code. With the ability to attach interpreters and compilers to check for executable code, LLMs can already solve most Leetcode style algorithm problems, a key aspect of software hiring post Google.
The Question
Now, the big question that has emerged, will AI replace software engineers? What will happen to our industry? Will we just have fewer software engineers, or will engineers be supercharged with AI capabilities?
The answer to this depends on your time horizon. Humans used to write machine code, then assembly to today’s powerful languages. With these shifts, the volume of code needed to write to produce the end product fell, but there’s was an explosion of things that needed to be built as software ate the world. It’s quite possible that in the future, humans will write less code and interface with a machine in higher level primitives.
At the moment, most companies view AI as an agent of productivity boom. The software industry is already highly automated, and it’s a cardinal rule that the boring work will be automated.
I intend to expand upon this section in a future post. Stay tuned!
What are we here for
Software engineers should take a step back and consider what it is that we do. If we view ourselves as entities that ingest specs and churns out working code, perhaps LLMs are mostly there already.
A great amount of work engineers spend is not necessarily in the code but above, below and around the software being written. Understanding the business’s needs, translating that into what that means for the software that needs to be built, leveraging what already exists, anticipating problems down the line so we can minimize churn and oncall pain, weighing tradeoffs around tools, technologies and knowing that in any organization, software tradeoffs aren’t just software tradeoffs but also human tradeoffs.
It’s also worth remembering what we were told when we entered the industry. This is an industry where we must be continuously learning. Every few years, new tools and paradigms will emerge that will render what we practice outdated. At the same time, some paradigms and tools endure, e.g. C++ and SQL are as relevant as they were 30 years ago. This whole industry is still wildly new, especially compared to peer fields like electrical or mechanical engineering.
At the moment, AI literacy is essential for software engineers. This emergent technology is simply too powerful and we cannot afford to stay behind, especially as the internet is blessed with great teachers such as Andrej Karpathy. Think about how these tools can solve your everyday challenges and know about the capabilities and limitations of LLMs. And build things.
It’s unclear what the new equilibrium for tech jobs will be as inflation and interest rates come down. A lot of companies are scarred from the tech recession of 2022. The best we can do is prepare for the future and embrace how powerful tools can solve our unique problems. And while we are at it, we can send well wishes to our friends who are designing and building out the data centers. May your boom have a long life.
Comments