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?

8
  • 1
    The quote doesn't make this candidate sound particularly useful or demonstrate good communication skills. But the more fundamental problem is that you've failed to define exactly what you mean by "Building an IoT network" - are you installing off-the-shelf system components intended for this, or creating something custom out of single board computers, or what? Will the person be responsible for physical installation in the plant or for designing boards or writing embedded software or for maintaining a backend server? You need to define the task before you seek candidates. Jul 8, 2017 at 21:32
  • 1
    To put it another way, "IoT" may be new as a recognized industry segment, but none of the tasks involved are new - most have long histories of either exactly the same thing, or close parallels. Define the work you need done, and seek the candidates who have either done those same things for other purposes, or who have a track record of picking up new technical skills as needed. Jul 8, 2017 at 21:36
  • 1
    @ChrisStratton I take your point about my failure to define IoT system. In my defense, I am trying to connect the general tasks you alluded to in your second comment, I recognized that IoT tasks are not new; what I am really asking is, how steep would the learning curve be for a candidate who understands the concepts referred to in the quote? But that, of course, depends on the specific task at hand; right? Having said that, I will rephrase the question. BTW, it is not necessary to evaluate the candidate, given that I gave no context for the quote.
    – grldsndrs
    Jul 9, 2017 at 0:27
  • 3
    Your quote suggests you want a technician, your architecture overview looks better aligned with a role for specifying a system (using commercial parts), and the use of 'IoT' suggests you might actually need an architect or developer for an embedded system (plus the rest of the stack). I think the question has potential, but the 'building a PC' in the title says '90's consumer tech' to me, so the context is confused. Jul 9, 2017 at 9:40
  • 2
    Basically you're trying to derive IoT qualifications for the architecture you described from other technologies like creating PCs, correct? It would help if that became a bit clearer and maybe if you focused on a specific job in one of the 4 stages for example.
    – Helmar
    Jul 9, 2017 at 9:49

3 Answers 3

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.

1
  • Thanks for your response: it lays out the fundamentals to which I can draw direct lines from a given skill set. Do you mind if I use your response to consolidate my own answer?
    – grldsndrs
    Jul 9, 2017 at 19:40
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.

2
  • Right on! This is definitely the direction I am looking for. Can you clarify stage 4? Are you saying that evaluating PC CPUs is akin to evaluating cloud computing capabilities?
    – grldsndrs
    Jul 9, 2017 at 19:30
  • Well, CPU is the calculation power of computer as well as cloud is for IoT. Other stages do not have to concern which part of CPU or cloud is computing, the task simply gets done.
    – mico
    Jul 10, 2017 at 3:14
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

0

Not the answer you're looking for? Browse other questions tagged or ask your own question.