Skip to content

BLOG

What is an IoT Engineer?

We recently introduced the IoT maturity model as a way to categorize internet of things (IoT) devices based on both technical criteria and their business models — especially whether or not they can generate recurring revenue, such as with a subscription service.

We then walked through the technical challenges to climbing the maturity model, demonstrating how progressing from one stage to the next grows increasingly difficult and requires complete mastery over all the skills required in the previous stages.

One key fact that I want to highlight is that this isn’t a linear progression. Climbing from stage four to stage five, for instance, is exponentially harder than going from stage three to four. Not only do the later stages require more specialized skills, but, as the product grows more complex, it becomes even harder to comprehend the systems architecture and how each discrete part integrates into the whole.

As a company that specializes in IoT development and design, our engineers have been thinking about how we meet these challenges and what sets us apart from other firms. After years of deep thought regarding what it takes to deliver excellent solutions in this domain, we have formed the opinion that a new discipline of engineering is on the horizon: IoT Engineering.

Other types of engineers can work together to create IoT products on the lower rungs of the maturity model, but it takes IoT engineers to reach the higher echelons. In this article, we’re going to present our case by defining IoT engineering, discussing how IoT engineers work together, and answering the question of why we need IoT engineers in the first place.

The Difference Between IoT Engineers and Full-Stack Engineers

When most people think of a “full-stack engineer” they think of a software engineer who can do both front-end and back-end development. These developers may be able to traverse a Rails and React application, as well as set up some cloud infrastructure, but this dwarfs in comparison to the vertical range included within the IoT stack. We’ve got to think about the device-end, cloud-end, user-end, and connectivity, each of which has its own stacks to navigate. The result is an immense amount of complexity that goes well beyond what’s normally expected from a single person.

While an IoT engineer doesn’t have to be an expert in every part of the stack, they need to at least be fluent in all of them. In general, an IoT engineer has deep expertise in one or two subdomains and basic competency in the others.

The subdomains include:

An IoT engineer needs to understand how all of these pieces fit together to form a cohesive whole. In order to gain the systems-level perspective that’s necessary for building mature products, an IoT engineer has to be able to abstract away all the details and paint a picture that’s as simple as possible.  

Albert Einstein said, “Everything should be made as simple as possible, but no simpler.” This is especially true for IoT engineering, as we have to draw on our experience and knowledge of each subdomain to make sense of our system, yet we can’t go so far as to oversimplify or ignore all the complex technology that goes into a product.

This is a hard line to toe. That’s why it’s so crucial that we develop these cross-disciplinary skills and that we have a baseline understanding of each other’s work and how it affects both our own work and the product as a whole.

How Do IoT Engineers Work Together?

The real magic begins when IoT engineers with different areas of expertise come together to work on a project. Because we are all fluent in the vernacular of each other’s sub-disciplines, we can have fruitful conversations and find creative ways to work together in order to fill in each other’s gaps. There’s really no substitute for being able to depend on each other when building an IoT product.

All throughout history, deep personal relationships are a common thread among those who achieve the greatest accomplishments. Think about Steve Jobs and Steve Wozniak, the Apollo 11 mission control crew, or one of my favorite duos: the MythBusters, Adam Savage and Jamie Hyneman. These teams were able to do what they did because they knew that they could count on each other and because they brought complementary skills to the table.

A big part of this is psychological safety, “a shared belief held by members of a team that the team will not embarrass, reject, or punish you for speaking up.” In IoT development, this means that an electrical engineer needs to be able to push back on a software developer, that a data scientist needs to feel comfortable asking tough questions to the firmware engineer, and that everyone is able to reach across the aisle to fill in the holes in their understanding.

Another reason why IoT engineering depends on teamwork is that our work is so interdependent upon each other. When we have personal relationships with each other that go beyond the office, we’re more likely to work harder for each others’ benefit. For instance, a software engineer will go the extra mile to put their data into a format that’s easier to feed to a machine learning model because they’re friends with the data scientist who’s building that model.

This combination of knowing how one can optimize their work to improve somebody else’s work in a tangentially related field, alongside the drive to do so, is a key indicator of all successful engineers. This is crucial for the success of multidisciplinary IoT projects.

Why Do We Need IoT Engineers?

The only way to develop truly mature IoT products is by working with IoT engineers. While it’s possible to build an early-stage device by working in silos, that simply isn’t going to cut it when dealing with complicated, interdependent systems.

We’re defining IoT engineering because we understand the benefit of knowledge encapsulation. If you can’t encapsulate everything you need into a picture that’s easy to understand, then you won’t get there. By clearly defining what it means to be an IoT engineer, we’re planting our flag.

This is the type of talent that it takes to climb the IoT maturity model. Want to work with an experienced team of IoT engineers on your next project? Drop us a line here, and we’ll be glad to talk further!