Image: iStockphoto/mangpor_2004
The Internet of Things (IoT) industry is booming—in 2017, the number of connected devices in use worldwide will reach 8.4 billion, outnumbering people, according to a recent Gartner report. By 2020, more than 20.8 billion IoT devices will be in use, Gartner predicts.
As connected homes, cars, and offices become more mainstream, more developers are needed to ensure that devices operate properly and securely.
The term “IoT developer” remains broad, said Greg Gorman, director of the IoT Developer Ecosystem at IBM. “There are a lot of discipline areas that are in play, including security, networking, systems engineering, cloud programming, and hardware device programming,” Gorman said. “It pays to be multilingual so that you can be flexible and play many different roles in the team.”
There are four stages in developing an IoT device, according to Kornilios Ampatzis, a software developer at InfoLearn:
- Assembly of the physical hardware: This requires engineering skills, and is usually not completed by a developer. Most IoT devices use primarily pre-assembled boards and sensors connected on them.
- Programming the device: This requires programming skills to read the data from the sensors connected on the IoT device, and send them to the server.
- Programming the server that will receive and store the data from the device: This requires the use of server side languages, like PHP, ASP.NET or Node.js, and database queries based on MySQL or some other SQL derivative.
- Displaying data to the device user: This involves creating the web page or app that will depict the collected data to the user, which requires web development knowledge of PHP, JavaScript, HTML, CSS, MySQL, or another framework.
“Usually a developer is not responsible for all those stages,” Ampatzis said. “So, in order to specify on how to get started on a career in the field, first they have to decide on which stage of the development process they want to get aboard.”
SEE: The five industries leading the IoT revolution (ZDNet)
Here are six tips from IoT experts on how to break into a career developing connected devices.
1. Gain a deep understanding of sensors
Unlike other developers, those who work in the IoT space must have a deep understanding of sensors and wireless communication, according to Karen Panetta, an IEEE fellow, and a professor of electrical and computer engineering and associate dean for graduate education at Tufts University.
It’s recommended that IoT developers have a background in computer science or electrical engineering, Panetta said. However, IEEE and other professional organizations offer online courses on sensors and development in which you can make a project to show employers. And a number of inexpensive sensors and maker kits are available to practice skills on your own.
“Beyond computing, IoT will take you into the world of mechanical and civil engineering as sensors gather physics data,” said Bryan Kester, head of IoT at Autodesk. “It’s very difficult to be a ‘deep’ IoT technologist—you have to be naturally curious about the world and a renaissance person at heart.”
2. Focus on user interface
When developing a commercial IoT product, it’s important to hold yourself to high quality standards for user experiences, said Kit Klein, head of engineering at Wink. “Many customers depend on these products for critical tasks in their daily lives and are understandably intolerant of failures,” Klein said. “As an industry, we need to ensure products delight a rapidly growing base of users who aren’t necessarily tech savvy. Quality and reliability are paramount to this experience and need to be part of any developer’s mentality.”
Panetta recommends performing usability studies with customers to determine ease of use. “It all comes back to user interface,” Panetta said. “You can have the best control for your thermostat, but it needs to be simple to use.”
3. Learn JavaScript or Python
Suz Hinton, technical evangelist at Microsoft, recommends learning JavaScript before pursuing an IoT developer career. “Using a web based language for both the data processing backend, and the code running on the device itself makes a lot of sense,” Hinton said. “JavaScript is a very event-driven language, and this makes it ideal for reacting to new data from devices and triggering actions on the devices themselves.”
Working with new technology often means being motivated to work without documentation, code samples, or guidance other than the scant information provided by hardware manufacturers, said Rob Lauer, senior manager of developer relations at Progress. IoT developers tend to use common languages, including Python and JavaScript, with some Windows IoT-compatible devices using C#/.NET, he said.
SEE: How to become a developer: 7 tips from the pros
4. Play with a Raspberry Pi
For those without a computer science or electrical engineering degree, Elliot Schrock, founder and lead developer at Thryv, Inc., suggests demonstrating your aptitude to employers by completing projects on a Raspberry Pi.
“Raspberry Pis are very inexpensive, tiny computers, and are often employed in proof of concept IoT projects,” Schrock said. “They’re also a great way to learn how to solder together simple circuits, and link those circuits with software. Putting together some simple demo projects and then coming up with, and executing, some projects of your own is a great way to show that you have the initiative and know-how to work in IoT.”
Hinton agreed. “Using a device like the Tessel 2, or the Particle Photon, or even the humble Raspberry Pi can get developers fast on their way to learning how hardware ticks and the new skills required,” Hinton said. “Writing for IoT is really just learning how to write for smaller, slower computers.”
5. Find a community
Involvement in the surrounding communities of makers, inventors, and entrepreneurs with whom one can explore, develop, and refine their ideas into a reality is an important factor for becoming an IoT developer, said Emily Rose, lead developer evangelist at Salesforce. “The world of IoT is still so nascent and nebulous; there are few well-defined paths into the industry,” she added. “This may seem like a daunting prospect, but it can also be a tremendous advantage to those with an eye for exploration beyond the bounds of convention.”
David Middlecamp, Lead Solution Architect at Particle, suggests looking to Hackster and Instructables for communities of makers and project ideas.
6. Keep your skills cutting edge
Learning one platform or skillset isn’t enough, according to IBM research scientist and master inventor Eli Dow. “The platform you write for this week will often be obsolete within 6 months to a year,” Dow said. “Sensors will change, single board computers or other embedded platforms will continue to evolve, and you have to have the flexibility to adapt as platforms change at a blistering pace.”
Becoming an IoT developer means being “obsessed” with technology, said Erin Essex, creative director at Webonise. “Successful IoT developers must be tech news junkies—they should know everything that is going on in the industry, what’s hot, what’s old news, and what could be the next great thing,” Essex said. “This will provide the foundation needed to tinker with technology and make whatever is being built, the best it can possibly be.”