There is a common prediction being made that software development will become less important as a result of AI. The basic chain of thought is that because AI can do a portion of the work that software developers were previously responsible for, there will be less need for software developers.
The mood reminds me a little of the doom and gloom about software development in the midst of the bursting of the dot com bubble in 2001 when I entered university. The industry has always had ups and downs but the long term trend has remained strong and the future is brighter than ever. I believe the current narrative is creating unnecessary stress and anxiety for those who are searching for jobs or in the midst of completing their education in computer science.
The glaring fallacy in the argument is that it assumes that there is a fixed amount of demand for software development. Although that argument may hold some water in other industries, it is not valid in the world of software development.
As a product person, I view the world of problems that could be solved with software in three categories:
Category 1: Problems that could be solved with software today but the economics don’t make sense
Try asking a software developer, product manager, or founder for product ideas that could be built today but aren’t viable because the market is not large enough given the current costs of software development. Most will be able to rattle off a long list of ideas and there is a good chance they even have a few half built projects to solve them. Once you start looking, it’s impossible to not see all of the processes in day to day life that could be made more efficient with software.
Category 2: Problems that could be solved with software and the economics make sense
This is the world of commercially available software today. If it can be solved with software and the economics make sense (customers are willing to pay, there are enough customers, and the revenue will cover the expenses,) then it is being done. The high failure rate of startups is evidence that there are few stones that go unturned in the pursuit of exploiting every potentially viable opportunity.
Category 3: Problems that can’t yet be solved with software
This is the stuff that is science fiction. Problems that exist but that we can’t yet solve with software at any cost. These problems include everything from improved drug discovery to more immersive video games.
How Does AI Change This?
AI joins a long list of technologies going back to the invention of the computer that allow individual software developers to be more efficient. This list includes abstract languages, more powerful processors, cloud computing, CI/CD pipelines, and many others. In each case, the new technology expanded the width of category 2. To the left, problems that weren’t previously economically viable became profitable. To the right, problems that could not previously be solved with software became solvable.
Anyone who believes that AI spells the end of software development fails to grasp how immense the problem space is and how many problems are waiting to be solved. Today, the entire world of software covers a tiny sliver of what is possible. AI is a tool that will allow skilled developers to push the boundaries to the left and the right. Any gains in efficiency will be dwarfed by the expansion of the universe of software. I expect that the need for software developers in coming years will be greater than ever.
Cheers,
Steve
I don't think people realize the depth and detail of lack of knowledge of how software interfaces with and is used by humans. Add to that the vagaries of users (the old PEBKAC problem)
AI can't solve this