The Internet of Things promises to be a job bonanza for developers, and coders can expect plenty of work at very good pay, according to Michael Rasalan, a director at California-based developer research company Evans Data Corp.
But there's a catch: To get the best jobs, you'll need the right skills and plenty of experience.
Most developers are already on the right path to acquiring that mix of skills and experience. An Evans Data survey in July found that 17 percent of the developers contacted were already working on applications for connected devices, while an additional 23 percent expected to begin working on them in the next six months.
[ Related: Internet of Things connections to quadruple by 2020 ]
Another survey by VisionMobile, a London-based research company, found that more than 50 percent of mobile developers are working on IoT projects, mostly as side projects to their day jobs. VisionMobile expects that the number of developers working on IoT applications will increase fivefold over the next five years.
As a developer, you want to put yourself in the best position possible to benefit from this IoT boom. Here’s a look at the skills you need to acquire and where to find these jobs.
Internet of Things: Skills
Mobile skills are important because much of the "thing" technology — such as chipsets and techniques like battery optimization — come from the mobile world, Rasalan says.
VisionMobile's survey found that the most common areas for IoT development are in smart home devices, wearables and the retail industry. That's significant because mobile companies are active in all those areas.
In the smart home area, for example, Samsung acquired early market leader SmartThings. Meanwhile, Apple acquired HomeKit and Google recently bought Nest. In Wearables there's Apple's HealthKit, Google Fit and Samsung's S Health—not to mention Android Wear, Samsung Gear and the forthcoming Apple Watch. On the retail side, Apple is busy with iBeacons and Apple Pay, while in the connected car space, Google has Android Auto and Apple has its CarPlay system.
Rasalan adds that big data analytics and cloud skills are also important because IoT sensors tend to send large amounts of data in real time.
But the most important skills developers will need is proficiency in cloud, mobile and data analytics, Rasalan says.
[ Related: 10 Hot Internet of Things startups ]
"You can't just be conversant in each skill, you need experience in how to use them together," he says. "Moving forward, developers need to be able to hit the trifecta of these skills. If you can demonstrate the ability to program with multiple technologies, then you may command a better salary."
Rasalan also points out a demand for people with skills and experience in security. That's important because many of the potential security vulnerabilities in IoT applications are the same as those for mobile or web applications.
Take, for example, a look at the OWASP IoT Top 10 security vulnerabilities. These include ones familiar to any web or mobile developer:
- Insufficient authentication/authorization;
- Lack of transport encryption;
- Insecure web interface; and
- Insecure mobile interface.
The need for security skills was highlighted in a recent study by HP Fortify, which found that ten popular Internet connected security systems—which include video cameras and motion detectors—had significant security vulnerabilities that would allow hackers to access these devices and control them remotely.
Where to find the jobs
As for the question of where to go to get a job in IoT development, it turns out that there's no single place that's a hotbed of innovation. "There are certainly jobs in Silicon Valley, but also in Hong Kong, Shenzhen, Taiwan and other places with a history of electronics manufacturing," says Schuermans.
Other promising locations include places where there is a high concentration of people looking for work who have mobile development skills. This means places like Toronto (close to the home of BlackBerry), Helsinki and Finland (home of Nokia) are hotbeds for jobs.
Ultimately, the biggest difference between IoT development and other areas of coding are the "things" themselves. These gadgets can come in almost any form, with many different combinations of hardware. Coding for this broad range of devices is what will separate the successful IoT developers, Schuermans says.
"Hardware skills are the biggest challenge for most developers because hardware adds complexity," he says. "So as a developer, if you spend some time schooling yourself in hardware, then that is likely to give you a big leg up."