Dev Watch

Blog archive

As IoT 'Goes Mainstream,' How Should Developers Prepare?

The Internet of Things (IoT) has arrived, according to a new research report. As it "goes mainstream," joining mobile, Big Data and the cloud as ripe areas for software developers looking for career growth, technical opportunity and big salaries, how should they prepare?

Read on for insights into the burgeoning technology and expert advice tailored specifically for IoT developers.

The Opportunity: 'Internet of Things Goes Mainstream, According to New Verizon Report'
That's the headline of a news release from Verizon, which commissioned the research by Oxford Economics. "With an addressable market that includes more than 150 million cars that are not currently connected, over 300 million utility meters, nearly 1 million vineyard acres and 45 million people sharing goods and services in the U.S. alone, the IoT is now mainstream," said Verizon in announcing its new report. The "State of the Market: Internet of Things 2016."

IoT by the Numbers
[Click on image for larger view.] IoT by the Numbers (source: Verizon)

IoT's arrival presents a great opportunity for developers who want to get in on the action early and possibly effect tremendous changes in the way we live. "Forward-thinking business and public sector leaders, as well as consumers and developers, are turning to the IoT to address some of society's most pressing social, economic and business challenges," Verizon said.

The Tooling
For developers addressing those problems, tools of the trade are vital. Verizon pointed out that some of the biggest players in the industry have come out with IoT development platforms, including Apple's HomeKit, Google's Brillo, IBM's Watson, Cisco's Jasper and, yes, Verizon's own ThingSpace.

"These and numerous other platforms populating the IoT marketplace promise a secure infrastructure and a set of tools that enable developers to build IoT applications, then manage the vast array of connected devices and the huge volumes of data those endpoints generate," Verizon said.

"In a nutshell, the platforms work to jump-start the development and deployment of IoT apps by radically simplifying the process for building and managing applications," the report continued. "Platforms provide a one-stop shop for development tools, secure network connectivity and everything else needed to launch, scale and manage apps."

The maturity of complete tooling platforms eliminates the hodgepodge approach that previously challenged IoT developers who had to jump through hoops to integrate different channels, processes and dev tools. Next we look at the needed skills to best utilize the new tooling.

The Skills
"Companies looking to make the most of IoT by bringing development in house are quickly realizing that they don't have the requisite skills they need to support it," ADTmag was told by Ryan Johnson, director of categories at Upwork, which provides a developer platform matching up freelancers with employers who post jobs. "Finding these people is proving to be a big challenge for companies."

Upwork recently conducted a little research of its own, coming up with the 10 most-wanted IoT developer skills, as measured by the percentage increase in annual job postings.

Skill Increase
Circuit Design 231%
Microcontroller Programming 225%
AutoCAD 216%
Machine Learning 199%
Security Infrastructure 194%
Big Data 183%
Electrical Engineering 159%
Security Engineering 124%
Node.js 86%
GPS Development 66%

As you can see, some of these aren't your ordinary development skills. When was the last time you heard a hue and cry for more AutoCAD developers?

We asked IoT guru John Cohn at IBM if he was surprised by this list. If anyone can speak with authority on IoT development, it's Cohn, with the pedigree of being an IBM Fellow, MIT alumni and "Distinguished Agitator."

"A developer at heart and a modern day 'mad scientist,' John is constantly searching for the next exciting technology revolution, which puts him in lock step with today's new breed of IoT developers," said an IBM spokesperson.

"IoT is not a spectator sport, it's fast-moving and fun. You can be making cool things to enrich your life in a matter of hours ... you may even create the next 'must have' device. Like most things, the only way to learn it is to practice it."

John Cohn, IBM

"This data makes total sense to me because it's about 'things' and the fact that to be successful at developing them we have to bring a real world object together with real world code," Cohn said of the Upwork research. "Hands-on experimentation and testing between these two worlds is the only and best way to know if what we are developing will actually work and for every application to reach its full potential.

"This is why you see the advent of maker spaces. Much like open source communities, these are places where anyone can go to figure out how to make the physical thing that you are envisioning and bringing your code to life."

We asked Cohn what other dev skills are most in-demand for IoT development. "To be successful in the world of IoT, it helps to have a strong sense of design," he said. "IoT objects interact with people and need to be designed with the purpose, aesthetic and function in mind. An object that performs seamlessly and as expected becomes an indispensable 'enchanted object' -- to quote David Rose from MIT: 'an object that is difficult to use ... or does not behave as a user expects is in a bin somewhere two weeks after purchase.' "

For another take on hot IT skills associated with the IoT, ITCareerFinder listed the following in a post earlier this year:

  • Business Intelligence
  • Information Security
  • UI/UX Design
  • Mobile Development
  • Hardware Engineering
  • Networking

"The IoT is one of the most revolutionary technology trends of our lifetime -- and it's poised to explode," the post said. "These skill sets will maximize your salary and marketability in the proliferating Internet of Things."

The Interesting Case of Node.js
You may have noticed one of the more "traditional" skills listed by Upwork is Node.js, clocking in at No. 9 on the top 10 list. That JavaScript framework seems to be especially linked with IoT development, judging from a brand-new Node.js developer survey, which described the technology as "the engine that drives IoT."

"JavaScript and Node.js have risen to be the language and platform of choice for IoT as both are suited for data intensive environments that require parallel programming without disruption," the Node.js Foundation said in announcing the survey yesterday. "JavaScript, including Node.js and frameworks, such as React, have become the de facto choice of developers working in these connected, device-driven environments with 96 percent of IoT respondents indicating they use JavaScript/Node.js for development."

Indeed, IoT has its own "developer type" in the new report, along with the traditional categories of "front-end" and "back-end" developers.

Here's a chart from the survey listing other programming languages, in addition to Node.js/JavaScript, used by those developer types:

Languages Favored by IoT Developers
[Click on image for larger view.] Languages Favored by IoT Developers (source: Node.js Foundation)

"JavaScript and Node.js were popular among back-end, front-end, and IoT developers," the Node.js Foundation said. "Other languages, beyond JavaScript, that were popular for all three developer types included PHP, Python and Java. However, when looking to the future, back end, front end and IoT developers planned to decrease their use of Java, .NET and PHP (PHP averages a 15 percent decrease) and increase the use of Python and C++."

The Rewards
A lead IoT engineer can command a $120,000 annual salary, according to careers site SimplyHired, which reported an average salary for "IoT engineer jobs" of $80,000.

Careers site Indeed reports 1,740 "Internet of Things" postings with salary estimates of more than $115,000 and 539 "IoT" postings with salary estimates of more than $130,000.

Of course, it's not always about the salary. Developers also weigh aspects like career growth opportunity, technical opportunity, challenges and more. We asked Cohn to opine on the benefits of developing in this growing technology space.

"One of the things that I find most interesting and rewarding about developing for IoT is the you have the ability to interact and move back and forth between the digital and the physical," Cohn said. "Almost anything is possible when you have this convergence of low cost, low power embeddable electronics, ubiquitous connectivity and cloud computing. With that you get access to essentially infinite computing in every device no matter how tiny. Code is abstract, but once you connect it to devices through the cloud, it becomes alive and you are developing things that make a real difference in the world. There's never been a time in technology when you can infuse this much intelligence into any device and that's exciting."

How To Prepare
We also asked Cohn how developers should prepare for the IoT -- what skills and technologies they should be focused on.

"The technology around IoT is evolving quickly and with so much light weight, agile development going on, you have to be able to move from one to the next," Cohn told ADTmag in an e-mail. "Developers now must be hip to all of the changes in programming languages and evolving hardware platforms. They have to have their finger on the pulse of open source communities and the tools and methodologies coming out of them.

"You have to be hands on with IoT because developing from an abstract point of view no longer works. Creativity and innovation are spawned from an understanding of what a device can and can't do. Which means that you have to write the code and then physically deploy the devices yourselves -- again, bridging that gap between the digital and physical worlds."

Bridging that gap is going to be an interesting challenge, as research firm Gartner last fall predicted some 6.4 billion "things" would be connected this year, a 30 percent increase from last year. Looking further forward, Juniper Research sees that number climbing to an astounding 38 billion units by 2020.

Furthermore, Upwork noted that Gartner identified insufficient staffing/expertise as the top-cited barrier for organizations currently looking to implement IoT in a February report.

"Get in now and start building things yourself," Cohn advised, continuing to emphasize his hands-on philosophy. "IoT is not a spectator sport, it's fast-moving and fun. You can be making cool things to enrich your life in a matter of hours ... you may even create the next 'must have' device. Like most things, the only way to learn it is to practice it."

Posted by David Ramel on April 13, 2016