The future of software will be shaped by how software developers and IT specialists think about software, according to a new report by the Software Engineering Institute.
The report says there is a need to look at how we build software and how we design software, and to think about the future of computing, from the hardware and software that run on our computers to how we connect devices and how it is distributed across the world.
The authors say that the rise of IoT devices is creating a need for more sophisticated software and hardware to understand what devices are connected to each other.
But how do we get the right tools and how do they connect to each others?
The report is based on a survey of software developers from more than 300 countries.
It says the focus on software development and automation has led to a lack of understanding of how software works and how systems work.
“There is a disconnect between the technology and how the software works,” says Mark Boulton, the lead author of the report.
“It is not possible to have a simple, automated software architecture that works without understanding how it works.”
The study looked at the history of software development, from hardware to software and then the current state of software.
The authors say this lack of clarity about the way software works has resulted in a significant gap between the software that people develop and the software they use.
There is also a mismatch between how people interact with the software and the way it interacts with their devices.
“A software engineer may not know how to interface with a new device in order to make it do something useful, or how to access data from the device,” Boultons says.
For example, a device may have a lot of buttons and a user may have limited screen real estate, but the user may be able to control the device through an interface on their phone or laptop.
The software engineer will be able, for example, to interface a new application with a button that can be pressed.
But this interface can be very complex to understand.
A more mature view of software is also needed, says Boulons, and this includes software developers themselves.
“We need to make sure that we understand what the user does and what the technology is capable of doing, not just how they interact with it,” he says.
The findings of the study were published in the journal Proceedings of the National Academy of Sciences.
Read more about the report: Software Engineering institute report: Building software that improves the world and the future: a vision for software engineering: how to design it