Software refers to all the information processed by computer systems – from web browsers and video games to mobile phone applications and digital media programs.
It has become an intrinsic part of our everyday lives, aiding us in the way we communicate with friends and family (text messaging, social media), managing our daily finances (online banking) and how we get from point A to point B (GPS software).
On a larger scale, software is also used to operate some of the most complex medical machines as well as regulate nuclear plants, electrical grids and other utilities
But who exactly designs and oversees the software that help make our lives so convenient?
In short, software engineers, whose responsibilities include the creation and maintenance of software systems, ensuring they are reliable and efficient, cost-effective to develop and overall meet the specific needs of the user.
"In essence, software is an indispensable part of a computer that makes it useful," explains Doctor Dong Yuan, who teaches the Bachelor of Engineering Honours (Software) program within the School of Electrical and Information Engineering.
"Building software can at times be as complex as any engineering project in the work and can be akin to the construction of a skyscraper or spacecraft, such as ultra-large-scale systems that operate air traffic control systems, energy distribution systems or financial trading."
Dr Yuan's own research is primarily concerned with software engineering for Internet-of-Things (IoT) applications, such as smart living applications that require distributed environment sensors, mobile body sensors and smart wearable devices for data collection and processing.
"The Internet of Things refers to the interconnection via the internet of computing devices embedded in objects, enabling them to send and receive data," says Dr Yuan.
"Today we have more and more smart devices in our daily life all connected to the internet, including smart appliances, watches and phones.
"While having intelligent software will significantly improve the convenience of our life, the difficult part is actually building the software to meet the expectations of the user.
"Due to many of these devices being produced in large-scale quantities for distribution, we need to develop software that can adapt to the user's mobility or the ability to cope with intensive computations.
"My research involves ways of addressing these obstacles so that the software in whichever device performs its intended application in a seamless manner that meets the user's expectations."
Dr Yuan forecasts that the demand for software engineers within industry is on the rise and he does not see this trend altering anytime soon.
"Software engineers are not only required by IT companies, but across a wide-range of industries where computers and the internet are indispensable components of a company's operations," says Dr Yuan.
"As information technology and the internet both grow to become indispensable components in our daily lives, the demand for software engineers will continue to rise to meet the inevitable demand."
Find out more about our Bachelor of Engineering Honours (Software).