Engineering leadership | Blog Post
Will AI Replace Software Engineers Soon? No. In 20 Years? Maybe
Greg Vilines
Share this post
Finally, at long last… the AI revolution is upon us. I’ve been building tech products for two decades, and AI and ML often felt like the Prince That Was Promised – more prophetic than real. However, the past 18 months have shown that AI transformation is a certainty, more significant than any advance since the invention of the Internet. Here at Terminal, we’re thinking deeply about a topic near to our hearts: will AI replace software engineers?
Simply put, the answer is both no and yes. The key variable is the time horizon we’re considering. AI is already transforming job functions as tools like ChatGPT, GitHub Copilot, and Midjourney become broadly popular. However, the ways AI will complement or replace current software development practices will vary dramatically based on the breadth and depth of change and the timeframe we’re discussing.
TL;DR: in the short-term, AI will increase developer productivity and capability. As new tech unlocks opportunities for faster and more effective digital transformation, the need for developers will continue to grow. Over the next 20 years, AI will improve at providing the context and architectural insight where software engineers excel, but that transformation will take time. AI won’t replace software engineers soon.
AI advances are accelerating rapidly
The pace that remarkable breakthroughs are arriving shows what we know of AI today is the tip of the iceberg. Some recent advances include:
- LLMs advancing at breakneck speed. ChatGPT 4 improved upon 3.5 in nearly every way, 10x-ing the number of trained parameters and its short-term chat memory. Stability.ai, focused on open source LLM creation, released Stable Beluga 1 and 2 in June. Claude 2 was released by Anthropic, where “compared to college students applying to graduate school, Claude 2 scores above the 90th percentile on the GRE reading and writing exams”. While speaking to Barron’s, Mustafa Suleyman, co-founder of DeepMind, noted that we will be training AIs that are 100x bigger than ChatGPT 4 in the next 18 months.
- Marrying software with robotic hardware. Google’s latest robotics model RT-2 brings LLM comprehension to physical robots, allowing them to make decisions without discrete programming. The demo showed a robot correctly selecting an “extinct animal” from a pile of toys without any discrete programming by combining visual recognition and LLM reasoning.
- Video and audio creation accelerates. AI video and audio creation continue to advance, highlighted by the Barbenheimer viral video mashing up Barbie and the Manhattan Project. This was created in just 4 days (!) with tools like Midjourney and Runway Gen2.
As AI improvements continue, software development will continue to be reshaped. The big question is when, as in: when will AI shift from being a complement to developer workflows and begin replacing developers all together?
Researchers predict major workforce impacts over several decades
Forecasting timing for seismic shifts is inexact. We are historically not good at predicting when disruptive technologies will become commonplace. A recent example: self-driving cars.
For 15+ years, technologists have said the self-driving revolution was “5 years away”. Today, we are still many years from significant adoption. Cruise and Waymo have slowly deployed self-driving taxis in a few cities, but not without hiccups. Tesla has recently suspended rollout of the tech due to concerns over its safety. While revolutionary tech may be inevitable, timing is often overestimated.
Predicting the long-term impacts of AI
Still, researchers are trying to quantify the impacts of AI to the broader workforce. The timing and nature of the changes vary, but consensus seems to be that AI will significantly boost economic activity while disrupting many job types over time.
- McKinsey ”estimates that generative AI could add the equivalent of $2.6 trillion to $4.4 trillion annually”.
- In that same report, McKinsey is now estimating that “updated adoption scenarios, including technology development, economic feasibility, and diffusion timelines, lead to estimates that half of today’s work activities could be automated between 2030 and 2060, with a midpoint in 2045.”
- GitHub’s internal estimates of the economic impacts of GitHub Copilot will boost global GDB by $1.5 trillion in productivity improvements alone.
- Goldman Sachs estimates that 300M jobs could be disrupted by AI. They specifically highlight that Computer and Mathematical fields (i.e. development) is likely to be 100% “complemented” by AI, not replaced by AI.
- OpenAI’s own research highlights how selected industries will be materially impacted by AI, including functions like Accounting, Mathematics, and Writing are 100% or “fully exposed” to AI impacts.
To synthesize:
- AI will create massive opportunities for new businesses, jobs, and ways of working.
- Disruption WILL certainly happen to many functions, software engineering among them.
- Disruption does NOT necessarily mean replacement. Most forecasts indicate that software development will be complemented and improved by AI, not replaced.
AI will boost the need for software development
In the immediate future, AI is going to boost the need for and capabilities of software developers. Three immediate ways this is true:
Unlock new types of problems that can be solved
AI will unleash solutions that were previously too challenging for many teams to tackle. As an example, here at Terminal, we’re using AI to solve data and technology challenges that were previously too complex to tackle. As AI democratizes the way developers perform complex data and analysis operations, solutions that would have taken vastly more data and ML expertise are now within reach. This will unlock the types of problems companies can tackle.
Bring more software to more industries
Software has been eating the world for decades. At the same time, certain industries have been slower to…get eaten 😁. Healthcare, construction, and insurance are just some of the giant industries slow to adopt. There are certainly cultural, compliance, and logistical factors at play in those cases. However, the fragmented and complex nature of many industries will be much more addressable with AI.
AI will be able to take complex and difficult problems and simplify their solutions. With simpler solutions, the pace of adoption will increase as the barriers to entry and “reasons to say no” come down. This should unblock whole new avenues for software development.
Open up transformation opportunities in new geographies
AI will give the ability to solve more complex problems across a number of industries. This will make it easier for regions of the world that are less infused with technology to build new solutions. As the barrier to entry to solving those problems comes down, countries and continents still undergoing digital transformation will accelerate.
The remote work revolution has shown that geography is no longer a boundary for talented developers. As these new regional opportunities become available, the global pool of developers will be able to take advantage.
How will AI impact software development day to day?
At a macro level, AI will unlock significant new opportunities for companies. For on the ground developers, it’s already transforming how they work now and in the future.
Developer productivity
As developers utilize AI workflow tools, their overall productivity and velocity will increase. Early signals from GitHub Copilot, which analyzes both the context of the code a developer is editing and related code and offers suggestions within the text editor, already show this happening.
- GitHub’s statistics show “users accept nearly 30% of code suggestions from GitHub Copilot and report increased productivity from these acceptances”.
- An MIT study compared developers utilizing Copilot to build an HTTP server in Javascript to those who did not use Copilot. The results showed a 56% increase in completion speed for those using the tool.
OpenAI has launched the ChatGPT Code Interpreter, which translates natural language into workable Python code complete with upload / download capabilities. Replit, the online IDE, has launched Ghostwriter, an AI-powered pair programmer.
More junior developers and engineers learning new skills will also upskill much faster, as AI provides contextual help and coaching as they’re building, instead of relying on pairing programming sessions, Stack Overflow + Google, etc.
Within Terminal, we’ve found that AI has been especially useful for prototyping and learning new domains quickly. Our head of engineering Christian Rice has said:
I’ve found AI tools incredibly helpful for individual coding tasks, learning new tools, and tackling things I have almost no idea how to build. I’ve used it to help think through new problem spaces.
Christian Rice, Terminal Head of Engineering
All of these advances mean developers will spend less time focused on foundational code and development environments and more time solving higher-order problems.
Creating user interfaces
OpenAI’s research has stated that web and UI designers are likely to be “100%” impacted by advances in AI. It remains to be seen how deep that impact will go, but many UI design tools – like Uizard, Khroma, and GeniusUI – are already in market.
Creating and reproducing baseline UIs for software will also likely become much more automated over time. As components become more standardized and AI is able to create effective cross-device designs, the need for handcrafting design work will likely be reduced. So much front-end development already relies on baseline frameworks, like React and Chakra UI, that eventually the ability to programmatically design and push updates with little technical intervention will become much more commonplace.
Bug detection and quality assurance (QA)
Every development organization is concerned with application quality and QA. AI is already making advances on these fronts, through efforts like:
- Automating code reviews through tools like What the Diff
- Bug detection through Microsoft BugLab
- QA test authoring through solutions like Testim
An even bigger opportunity may be supercharging existing automated testing solutions like Cypress, Playwright, or Selenium. AI could automatically create tests, self-heal tests that change or break over time, and leverage analytics to improve tests based on common flows. Ultimately, this will allow more time to be spent building new solutions and innovating as opposed to maintaining existing code.
Data science and analysis
Some of the biggest areas of opportunity for AI to have an impact is in the realm of data science. One of the biggest advances is using natural language processing to enable more users to analyze and interpret complex data sets . Simply, less data modeling expertise will be required to extract meaningful analysis from large datasets.
More technically, several trends highlighted by Nahla Davies at Dataversity show how the field is rapidly transforming:
- Automated Machine Learning, or AutoML, will improve “the creation of machine learning models by automating complex tasks like model selection, hyperparameter tuning, and feature engineering.”
- Simplifying coding through tools like Copilot.
- Data augmentation, which creates new data by modifying existing datasets, holds immense promise in improving model performance and robustness, especially for arenas with small datasets.
AI will be slow to replace software engineer’s context
AI is already complementing a developer’s day to day approach to coding, but one area will be harder for AI to make an impact: the context of a problem and solution. Developers today are managing multiple levels of context in every solution they build, including:
- Business context: what problem are we solving and why?
- User context: what is a user trying to achieve and what are their priorities?
- Code context: what are our technical standards and guidelines?
- Architectural context: what systems do we build upon and what new platforms should we consider?
- Integrations and APIs: what systems should we connect to and for what purpose?
All of that context is challenging for AI to replicate, as most AI solutions now are oriented to one technical domain or point solution. Eventually, AIs may understand how to orchestrate all of that context well. However, we are likely decades away while AI evolves from point solutions to true cross-platform orchestration. AI will not be able to replace software engineers until it develops much more context.
Google’s stance is similar, saying:
AI may automate certain tedious tasks in technical fields, but AI can not replace the creativity, intuition, and problem-solving abilities of human developers.
Priyanka Vergadia, Google Staff Developer Advocate
Developers will also continue to thrive in deeply technical fields, actually creating new technologies in neural networks, LLMs, data science, and more. Humans will likely be pushed more into R&D and true computer science as rote coding and execution becomes more automated.
How will the role of a software developer change?
Predictions are always dangerous 😅. But with AI already showing its proficiency in the basics of programming, three possibilities seem likely:
1. Developers will shift to goal-oriented, architectural development
As AI takes on more of the task of writing, reviewing, testing, and executing code, developers will shift to providing more context to applications and their direction. They will focus on expanding features, building integrations, evaluating feature and system health, and pushing the platform forward. Much less time will be spent on maintenance and execution tasks.
2. Development will focus more on technical depth and R&D
The focus for engineers will likely change, as more engineers focus on more technically complex subject areas like developing new coding frameworks and tools, ML and data science. As code execution becomes abstracted away, there will be less need for deep expertise in specific coding languages.
3. Developers will solve higher-order technical and business problems
The biggest shift will unlock developers to focus on higher-order technical and business problems. I imagine a whole new wave of founder technologists will come from the AI revolution. Many new companies will start from the ground up leveraging AI to solve problems and automate the actual production-level work of coding and programming.
4. New development roles will appear as technology matures
As AI becomes mainstream in every technology stack, new developer roles will appear to fill in new needs. As platforms rely more and more on AI and generative language models, the need to develop, monitor, and train these models will increase. Every team will need people focused on these tasks.
In short, developers will shift from being a “coder” to a fully-realized problem solver.
Will AI replace software engineers? Not until AI can master context
In the next 20+ years, the number of developers needed may contract once AI gets enough solution context. But for the next several decades, AI will accelerate developer productivity and unlock new solutions in untapped verticals and geographies. Though asking if AI will replace software engineers makes sense, history teaches us that technical advances often show promise before they become ubiquitous.
In the meantime, developers are already changing their day to day approach using AI and creating new solutions that will spur economic growth. If software is eating the world, there will be plenty to go around for developers at the table.
Greg Vilines is the SVP of Product at Terminal. A product leader for nearly two decades, he has held leadership positions at growth startups (Terminal, Cypress.io, Experience), large enterprises (Autotrader, The Home Depot), and founded and exited the predictive analytics startup Fittery.
Looking to accelerate your AI / ML hiring? Check our our global AI talent for free!