As software professionals, we are bombarded with invitations to web seminars and links to articles about the billions of devices and trillions of dollars in sales for Internet of Things (IoT) and mobile devices. According to these “experts,” IoT and mobile devices will equate to many new job opportunities for developers and testers.
According to Gartner’s most recent Hype Cycle for Emerging Technologies, IoT is at the peak of hype, while some mobile enterprises are just maturing. However, look further in the curve, and you will see the upcoming “disillusionment” with yesterday’s and today’s hyped ideas. Does this mean technical people should not invest their time in trendy fields such as IoT and, to some extent, mobile? Should we instead stick to developing and testing for our trusty PCs and IT systems?
Probably not. The tech industry has marched onward and upward for all of the thirty-five years I have been in it. Consumers and users want new tools and capabilities. While some may claim testing is dead and development will be done by machines, both the cyber and the physical worlds will always need creative developers and thinking testers.
The interesting thing about the IoT is that it blends the cyber and physical worlds and introduces new patterns of hardware and software development. Developers will need to expand their programming skills as well as their understanding of solutions needed for the real world, while testers will need technical skills to address finding bugs and providing information about the software and its tangible effects. Teams will not be able to specialize in just hardware, software, or systems, but a merging of all three. This blend of cyber and physical is what some are calling the fourth industrial revolution, or Industry 4.0.
In the course of mankind’s technical history, first we had the physical world of tools. The Industrial Revolution brought mechanized production, which changed manufacturing, the economy, and people’s lives. The twentieth century saw the birth of computers and information technology, which are now present in almost every facet of our daily existence.
Now, our mobile and wireless communication has matured to the point where a full integration of cyber and physical systems is possible. We can tie embedded sensors, controllers, and microprocessors to mobile devices and communicate with IT and cloud systems. Further, we can put small, highly sophisticated chip devices in almost any product. These innovations undoubtedly have some hype, but I feel certain IoT will continue to grow.
What Does This Mean for Software Developers and Testers?
This merger of cyber systems and the physical world brings with it the problems of each of those environments. We are still learning the nature of these systems, how to build them, and how to test for the bugs within them, and we will continue to find new ways to make IoT devices and networks fail. Working in this brave new industry requires tech professionals to not only learn traditional development and testing skills, but also understand concepts such as hardware, system, and integration testing of these advanced devices. There are also unique challenges in IoT systems, such as timing, environment, battery allotment, sensors, controllers, and so forth. Integration has always been challenging, but it hasn’t been anything like what is coming at us with new IoT technologies.
For me, IoT devices fall into three basic groupings: industrial devices, consumer devices, and mixed middle devices. Industrial IoT will drive workplaces, factories, infrastructures, cities, states, and the business world. Consumer devices will include wearables, personal communication, entertainment, and direct human usage devices. The middle devices will be used by both the consumer and industry.
Often, it will be hard to determine if a device is consumer or industrial. For example, is a medical device that puts insulin into a person’s body and reports the drug usage to a company a personal or industrial IoT device? Both groups get big benefits from the device. What bugs should the consumer worry about? What failures should the drug company be concerned with, and where will the liabilities lie for the companies? The bottom line for companies, consumers, testers, and developers is that there will be many opportunities, both positive and negative, in the IoT world.