6

I am reviewing potential candidates for IoT position. The position in a industrial factory setting requires the candidate to contribute to the 4 stages of an IoT infrastructure as defined in the article: How to design an IoT ready-infrastructure:The 4-stage architecture

4-stage architecture

Since IoT is a relatively new field, some of the candidates only talk about what they learned from building PCs. For example candidate A learned from building audio workstations:

Faster processors with more cache are preferable to higher core counts which can adversely affect system performance. Chipsets handles all aspects of the communications between system components: low latencies and high data throughput for hard disks and audio/DSP cards make chipset/motherboard choices paramount. Maximizing data throughput with higher HD rotational speeds or employing a separation-of-concerns HD partitioning strategy positively affect system performance; as does the HD cache size. RAM size is directly proportional to system performance. The audio card’s driver-ASIO compatible-is a vital component to attain low latency. Graphics cards need to support OpenGL 2.0 or higher. 64-bit OS is preferred.

Essentially I am trying to derive IoT qualifications for this architecture from a PC building skill set.

It seems obvious that stage 3 is where the candidates could have an impact —given the quote — but are there opportunities in stages 1,2,4 where the candidate could contribute using solely the experiences listed above?

Where would I draw direct lines from the experiential statements to the implied tasks in the 4-stage architecture?

grldsndrs
  • 375
  • 1
  • 10

3 Answers3

8

The generics first

Some of the candidates only talk about what they learned from building PCs

Coming from PCs is not a problem, but, candidate should understand that an IoT device/product/application isn't same as a general PC.

PC are built for general compute purpose, you can use a PC for almost anything:

  • Browse Internet
  • Play games loaded with graphics
  • Use word processing apps
  • Use complex audio rendering software

Where as an IoT device is built to do only a fixed set of key jobs (sometimes only 1) repeatedly. Such as:

  • Surveillance camera (captures, encodes and streams)
  • CO sensor (Senses, analyses and alerts)
  • Smart Assistant (Detects wake word, process using NLP, plays back the reply)

The position in a industrial factory setting requires the candidate to contribute to the 4 stages of an IoT infrastructure

To be able to work in all the 4 stages requires following understanding:

  • Stage-1: Mostly MCU class of devices; maybe sleepy nodes; possibly running on batteries hence thrifty on power; running software on bare metal or embedded OS; use NAND/eMMC/ROM; mostly has only 1 Radio WiFi/BT/802.15.4/Z-wave; most of the time built to do one and only one job.
  • Stage-2: Built on processors (complex compared against the nodes); are backbone of the mesh/star network on which the nodes live; capable of running edge analytics; support all WiFi/BT/802.15.4 if the nodes are on different radios.
  • Stage-3: Analytical software that runs the software and algorithms that generate markers of interest on the data generated at stage-1 and aggregated at stage-2. At time making the critical decisions if the markers warrant immediate alerting. (E.g., if an empty lift is stuck that warrants an maintenance alert. whereas a lift with a person in it is stuck that warrants a rescue alert)
  • Stage-4: Store data, make it available to data mining apps that can mine the data to generate reports and visualizations that can help fine tune the process/workflow in the chain.

The specifics based on role

  • Technician who services/replaces devices on field does not need to know the in-depth of the 4 stages. You can train him yourself with an overview of stages and Q&A sessions every week. But, the technician needs to be good with hands and tools and must show very good traits regarding how to safely install and replace devices so that the devices remain in serviceable states for a long time. Technician must also show good aptitude to understand the class of alerts from devices.

  • Software developer needs to be good with coding skills. I have found it very difficult to find a developer who can fit in all the 4 stages of development. Generally there is overlap of skills in two adjacent stages. But, you may not find a guy who is equally good in stage-1 up-to stage-4.

  • Software Systems Architect this is someone (at least the lead) who without prompting should be able to mention the software stacks, software security and power aspects involved in all the 4 stages. The limited processing capability of the nodes should be well understood by this guy.

  • Solution Architect the guy who can tell you what piece of hardware (MCU/SOC/actuator/sensor) will meet your need at the edge, still last the longest, and will bring peace of mind when forward upgrades become necessity. Very difficult role.

sob
  • 2,640
  • 3
  • 19
  • 37
4

Stage 1:

PC side peripherals, specially input devices like mouse, scanner, keyboard are equivalents to sensors. Relevant is the correct pins, correct protocols and signal forms etc.

Stage 2:

Bus between internal parts of PC and between processor and outer devices equals data acquisition and networking.

Stage 3:

Edge processing is equal to sound card or video processor on screen. Same kind of externalization of tasks from the main CPU.

Stage 4:

CPU is the cloud of computer.

Aurora0001
  • 18,520
  • 13
  • 55
  • 169
mico
  • 4,351
  • 1
  • 18
  • 27
0

The skill set that a PC technician brings, to an IoT table, is based in “System Integration”.

Wikipedia defines System Integration as:

the process of bringing together the component sub-systems into one system (an aggregation of subsystems cooperating so that the system is able to deliver the overarching functionality) and ensuring that the subsystems function together as a system and in information technology as the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole.

PC techs building generalized contemporary machines need not to get in to the weeds of the most basic of system integration issues, because contemporary off-the-shelf components have been engineered to integrate into an ever-increasing range of HW/SW. So, a PC tech who is adept at building computers for general purposes could expect to contribute to an IoT system architecture in very general ways.
For example:

at Stage-1, this tech could assess the limitations of processing power available on each IoT device, creating data for a system architect to analyze when evaluating options for processing data at each sensor.

At Stage-2, the tech could implement intelligent gateways, building on basic gateway functionality by adding such capabilities as analytics and malware protection. These systems enable the analysis of data streams in real time, rendering the information in a form that is human consumable.

At Stage-3, the tech could build fast, easy to deploy, remotely manageable computers for machine learning at the edge: to scan for anomalies, identify impending maintenance problems and to provide visualization and presentation capabilities with dashboards, maps, or graphs.

At Stage-4, if the data center is on premise, the tech could provide physical support for building a network as well as physical maintenance, software installations and some configuration. Otherwise, the tech’s experience is limited to software installations and some configuration.

Generally, the tech’s understanding of operating conditions of computers could help operations design more efficient maintenance cycle sand improve product storage.

On the other hand, PC techs building specialized machines necessarily need some level of understanding of system integration issues. A tech who is adept at building Digital Audio Workstations will be knowledgeable about the process (evaluating data-throughput of HW/SW) of finding bottle-necks with in the data flow of audio signals through a computer system. To build a Digital Audio Workstation that meets user requirement the tech needs to understand how and why each of the computer’s components work together and affect overall system performance. So, the skill set listed in the OP

Faster processors with more cache are preferable to higher core counts ...

becomes even more relevant than those of the generalist:

If one thinks of an entire IoT network as a single computer with decentralized components, it is not difficult to see the parallel between it, and a specialized computer system built for a singular task/workflow.

IoT devices are built to do only a fixed set of key jobs repeatedly, like, for instance, the processors, chipsets, hard drives, RAM, and audio/graphic cards of a Digital Audio Workstation. The IoT system architect’s job is many times more complicated than the PC tech’s, but they both face a similar set of circumstances in that they both need to integrate their respective components into a cohesive efficient system.

To do that each needs to understand the function, properties and character of their respective components deeply. It is that process of building a fundamental understanding of components; that process of understanding how each component works with the others and the system as a whole; that process of acquiring data and efficiently shuttling it through hardware, software and algorithms to produce human consumable information; it is that process-in addition to a generalist’s skill set-that a PC tech-adept at building specialized computer systems-can apply to building and maintaining an IoT network.

So, if you accept that premise, a tech who can build specialized PCs can contribute at each of the 4 stages reference in the article, with component selection and integration, as well as with the generalist skill set referenced above

grldsndrs
  • 375
  • 1
  • 10