What skills do you need for IoT projects?

Dennis Zapanta (@denniszapanta) who is one of the (legion) of people behind the @readify twitter handle looped me into this conversation on Twitter with @iCareHealthAU.

It links back to an article on iTWire which talks to the issues surrounding readiness of IT professionals (specifically in Australia in this case) to tackle some of the complex IoT projects that could be on the horizon. The article smells like a sponsored piece referencing SolarWinds, but that's OK - it does raise an interesting point that is worth discussing (skills mix/skills shortage).

Last year I wrote an article around focusing on the why's of the Internet-of-Things. In that article tried to break down the critical elements that define an IoT solution. They were:

  1. New or existing embedded systems.
  2. Connectivity between devices and other systems.
  3. Data aggregation, visualisation and insight.
  4. Autonomous or semi-autonomous response to incoming events.

If these represent the elements of an IoT solution, then the skills required to build and service these solutions will necessarily be linked to those elements. The interesting thing is that these skills do exist in the marketplace, but they aren't necessarily bundled up into a single person.

For example, I'm predominantly a software guy. I write software that runs on servers hosting in the cloud, on mobile devices and PCs, and occasionally on embedded microcontrollers - this is the set of skills that I bring to the table for any project. I don't go around and present myself as a networking guy, data scientist or hardware engineer.

However, I think that us software folks could stand to have more hardware engineering skills. With the increased volume of easy to use microcontrollers/SoC devices it is now easy enough for me to write the code that drives hardware solutions (software is eating the world). The only thing that we need to get better at is herding electrons around a circuit. To be sure this is a specialised skill, in fact I've recently started doing some courses to increase my skills in this space and it has given me an appreciation for the level of talent some of those folks have, and I'm only just getting started.

I think that we might see a convergence of software skills and electrical engineering skills where developers do some prototype circuit design but loop in the professionals as things get closer to production.

It is an interesting space to watch right now, and no shortage of new (and old) things to learn.