How to Start an IoT Project
ThingsquareThingsquare
Successful IoT projects are engineering-heavy. Developing a successful IoT product isn't a walk in the park. To make it easier to plan for IoT projects, this article lists the IoT technical skills needed on the team:
The first step of any successful IoT project is to define the business goals and build a proof-of-concept system to estimate if those goals are reachable. At this stage, you need only a subset of the skills listed in this article. But, once a project is so successful that it moves beyond the proof-of-concept level, the required breadth and depth of the team increases.
Often, individual developers possess several of the skills. We've worked with exceptional startup founders that combine all these skills in a single person. But, very few people are like that.
Sometimes each skill on the list will require its own team. The amount of people needed depends both on the complexity of the project and on the required level of success. More success usually means more work but also more revenue that can be used to hire more people.
In addition to these skills, everyone involved in IoT projects needs to share a set of thought patterns to permeate the entire project and affect tech decisions throughout the stack:
For example, if the proof-of-concept deployment reveals that the users ask for a much more fine-grained update rate from the hardware, this may affect everything from the hardware, to the wireless network, to the backend, frontend and data analytics. Likewise, security concerns will affect everything from the hardware and up.
Most IoT projects include some form of custom hardware design. The complexity of the hardware varies considerably between projects. In some cases, it's possible to use hardware modules and reference designs for which a basic electrical engineering education is enough. More complex projects need considerably more experience and expertise. To build Apple-level hardware, you need an Apple-level hardware team and an Apple-level budget.
Typical skills:
To turn the hardware into magic, you need embedded developers. These are software people that do software at an extremely low level, close to the bare metal hardware. This software is called firmware (where firm is something between soft and hard). The typical background is a combination of electrical engineering, computer architecture and software development. Embedded developers work with prototype versions of the final hardware and their desks, therefore, tend to look messy.
Typical skills:
Most IoT projects are wireless, and wireless is hard because it combines all the difficulties of the physical world with the complexities of software. A typical background for a wireless communication expert is with wireless communication, network protocols and software development. For large-scale IoT systems, wireless communication expertise is necessary to dimension the network and communication patters appropriately. For consumer-grade IoT systems, wireless communication expertise is needed to make the devices smoothly connect via Bluetooth to users’ smartphones.
Typical skills:
In IoT systems, the backend is where databases and application logic resides. The backend is typically deployed in a cloud host and takes care of storing data from the IoT devices, authenticating users and providing APIs for the frontend and for integration with other systems.
Typical skills:
Most IoT projects have a frontend in the form of a web page. This is where users of the system interact with it. This needs to be user-friendly, secure, work in the most common web browsers and be kept up to date. Frontends are developed in HTML and almost always use some existing frontend framework, written in Javascript. Frontend developers create visual experiences, often by writing lots of text on a screen.
Typical skills:
Many IoT projects that are user-facing use a mobile app as the user interface. As the project progresses, the mobile app experience becomes more and more important. This usually means that two versions of the app need to be developed and maintained: iOS and Android. Sometimes a hybrid native app, which typically would be developed in HTML, is the way to go. Most app developers are well-versed in the benefits and challenges of native or hybrid frameworks.
Typical skills:
Many IoT projects will need integration with existing software. Software integration is an often underrated task that can take significant effort and a specific set of skills to be successful with. And once the software integration is underway, you will want to ensure that the integration keeps working. This is where automated testing comes into play. A systems integration and automation engineer will have significant practical experience and a lot of grit, because this is tough work.
Typical skills:
IoT projects revolve around data and you need to make sense of that data. In the early stages of the project, this may be as simple as putting key performance indicators into an Excel sheet to compare them, but, as the project progresses, you may need more in-depth analysis of the data. This is where a data scientist comes in. Data scientists make sense of complex data to find patterns and actionable information, which ultimately drives the value of the data.
Typical skills:
A fully-fledged IoT project requires a wide range of skills to be successful. In the early stages of the project, validating the business case is the most important task, and, for this, you won't require all the skills in the lists above. But, once you've established the business case and the project can begin for real, these skills become increasingly important.
The Most Comprehensive IoT Newsletter for Enterprises
Showcasing the highest-quality content, resources, news, and insights from the world of the Internet of Things. Subscribe to remain informed and up-to-date.
New Podcast Episode
Related Articles