How to make yourself marketable as an IoT software engineer
Opportunities abound for software engineers these days in the booming Internet of Things (IoT) business. Whether it’s in wearables, healthcare, the smart home, or manufacturing, these companies are busy building out an IoT software architecture. And by 2020, more than half of the major business processes and systems will include some form of IoT, according to research firm Gartner.
Search for "IoT software engineer" on Indeed.com, and you'll turn up a range of job postings and requirements that can help you plan if your goal is to gain the skills needed to successfully market yourself as an IoT engineer.
So what really matters to IoT businesses that are hiring? Here's what recruiters and hiring managers in the IoT industry suggest for software engineers who want to break into this area, and successfully market themselves as IoT software engineers.
Bone up on new languages, non-relational databases
Ray Lum, director of applications engineering for industrial IoT startup Bit Stew Systems, says just being an experienced software engineer makes you marketable to IoT companies. He looks for people who are life-long learners, and who invest in themselves by taking courses, engaging in side projects, and keeping up by reading about what's current with the IoT.
Jeff Rogers, a contract recruiter at Randstad, says software engineering candidates typically have experience with multiple programming languages. He looks for candidates with experience in emerging technologies, as well as web and mobile development.
Developing skills working with non-relational databases skills can also help you stand out with IoT firms—especially those like Bit Stew Systems, which focus on data integration, he says.
Go beyond your core skill set
Kit Klein, head of engineering at smart home platform Wink, describes his company as primarily a NodeJS and Rails house when it comes to Wink's cloud infrastructure, while C is mostly used for its embedded products. However, while languages are an essential qualification for Wink, he looks for people with experience that demonstrates they're able to scale, and to understand the breadth and complexity of the IoT.
Thinking beyond your core skill set might also include throwing in some courses outside pure computer science. Consider taking some hardware courses to get a broader perspective on how those IoT devices work, he says.
Understand how to deal with large-scale data generated by the IoT
Software engineers need to understand how to deal with data at scale, says Lum. Know how to deal with the different types of data generated by the IoT, the large volumes involved, and data integrity issues that you'll run into during an IoT project.
Saar Yoskowitz, CEO of Augury, an industrial IoT startup, advises pursuing open source algorithm projects on GitHub to find out more about how to handle large amounts of data. He also recommends participating in the many algorithm contests online, where you can form teams to collaborate on solving problems that involve large amounts of data. A good place to start is with Kaggle or TopCoder, which will both give you practice in the type of problem-solving you'll be doing as an IoT software engineer.
Lum also advises experimenting with the various types of open data that are freely available. For starters, you could try creating small programs for plotting large data sets on a map, or graphing the relationships between multiple sets of data. You can find sample data sets online by searching on “open data.” Government agencies and some other organizations provide large data sets for free. Places to look include:
- Open Government, a portal for open data from state and national governments
- Wunderground, a treasure trove of historical weather data
- API data from social networking sites; examples include the Foursquare API, Facebook Graph, and Pinterest
Build out your analytics skills
Adrian Fortino, a board director at Sight Machine, a manufacturing analytics company, says software engineers need to learn as much as they can about analytics and how to present the data in a manner that people can understand.
Predictive analytics is particularly important for IoT jobs in manufacturing which uses it to anticipate when equipment will fail.
And because in manufacturing, many managers want to view IoT analytics from mobile devices while walking the plant floor, you'll need to know how to build such apps if you want to be involved in the industrial IoT.
Pursue IoT-related side projects
Software engineers who want to break into IoT jobs are “in a lucky place and time as a software engineer,” says John Musser, VP engineering at Basho Technologies.
For getting up to speed, he recommends working with IoT platforms such as Amazon Alexa or Apple HomeKit for iOS 10. Both are, he says, an ideal starting point for experienced mobile developers.
“You could take your side projects to hack-a-thon, which can be a unique networking opportunity for making contacts with an IoT firm."
Many Wink employees made themselves into IoT experts before they came to the company, Kline says. They got into Arduino, worked with BeagleBone, and got exposure to prototyping systems. As a hiring manager, Klein likes to see such experience, which he says shows the candidate’s enthusiasm for the IoT.
If your ambitions point towards industrial IoT jobs, Fortino suggests looking for project opportunities with small- to mid-market companies that may not have the ability to build an IoT platform, or buy an IoT platform. This could be a one-off project for a small-batch manufacturer that you do, using open source tools, for the experience . The company benefits, and you build real-world IoT experience.
Know the products of IoT companies where you want to work
Anna Lasker, director of human resources at Wink, says that some of their most recent hires were already following Wink online, owned Wink products, and had been waiting for a job opportunity that suited them.
“They already knew the Wink infrastructure, and the different products that we integrate with from a consumer's standpoint,” she says. “When they came in, they were very interested in learning about it as a developer.” It shows their enthusiasm, she says.
Start marketing yourself
If you're an experienced software engineer and you're fluent in several languages, you've already got a leg up on development positions in IoT companies. Gain experience dealing with big data, analytics, and non-relational databases such as NoSQL, pursue a few IoT-related side projects, and demonstrate your knowledge of the company where you want to work. Follow those steps and you'll be well positioned for a career transition.
How did you make the transition to software development in the IoT? What do you look for as a hiring manager? Add your experiences and comments below.