Software development is the modern day invention. Before computers, most machines were built for a single purpose. Inventions were assembled from parts to do a new thing or to do an old thing better.
With computers, we have a general purpose “invention” that has already been cobbled together with many different capabilities. It’s not for one single thing, but software can be for one thing. Software can temporarily create a connection between multiple pieces of hardware in the computer and tie them together to a single end. This creates an “invention” that is a temporary assembly of the utilized pieces of hardware, working together in this specific way while the software is running. This software can be stopped and other software started to create a new temporary invention.
The computer may have other hardware that is not utilized by this software, waiting to be used by other software for other purposes. Any one piece of software can utilize the hardware it needs and ignore the rest.
By piecing together a general purpose invention and giving people access to it, the computer lowered the bar for invention. I no longer have to be able to fabricate or assemble parts to invent because that part has been handled for me. I can worry about the ideas and how they are executed rather than the realities of the challenge that exist in the physical world.