Could AI Erode Software Development?
Today I had this interesting musing whilst considering the future of technology.
If you imagine the current state of enterprise software, lets take an example of a business that bought (correctly) into the API led practices that are common today.
You will have many applications communicating with each other over an API layer and within each of those applications there will be disparate logic to perform some domain specific behaviour for example given an order for this item, place an order with the warehouse and organise a shipping label.
A team will have assembled the services and ensured that they have the inbound and outbound connectivity within which to perform their logic.
What we may be able to do in the future is instrument all of the inputs and outputs to the service, and initially gather the raw data of all of the transactions. This raw data could then be fed into a machine learning platform which would be able to entirely replicate the logic within the service. Remember that just about any technology service has to have some kind of input to generate an output, be that to a database or screen or a REST API callback.
We should all be prepared for some serious disruption even inside our own industry. Technologists see themselves as the gatekeepers to technology - but even we are dispensable. If you consider the human brain as purely a computer that learns from inputs and outputs, then if the machines can perform a similar activity we are going to have major life changes ahead including on our own turf.
To me this raises a couple of questions:
- What would this do to the software industry?
- Is it likely to happen? and if so how far into the future?
- How would this be treated from an IP perspective? In effect the ML system is doing what a human would do during reverse engineering.
And yes - this could be seen as quite a simplistic viewpoint. The intent is to be thought provoking rather than detailed technology analysis.
Not in the next 10 years ... but definitely it will happen, so I reckon that programmers invest more in unautomateable skills, user empathy, design and closer user experience engagement with stakeholders/users