How to become the IoT Developer of the future
Early in career, looking at your next potential gig or always wanted to turn a passion for hardware and other IoT goodness into a job? You might be wondering what it takes to become (or continue being) an IoT developer. Here is my perspective (based on 20+ years of being one and advocating for IoT developers).
The importance of IoT Developers in a fast-evolving IoT industry
In a previous post I discussed who IoT developers are and how relevant they are in the industry today, and how they’ll impact the future of many industries. In manufacturing, IoT developers are instrumental in creating smart factories where interconnected machines, sensors, and analytics platforms optimize production lines and reduce downtime. In healthcare, IoT solutions enable remote patient monitoring, personalized treatments, and efficient healthcare delivery. The agriculture sector benefits from IoT-powered precision farming, where sensors and automation systems optimize resource usage and crop yields.
IoT developers’ expertise will empower an increasing number of organizations to harness the full potential of IoT which is becoming mainstream, unlocking new opportunities for innovation and growth. It’s not just me saying it: in a recent report discussed at length by the IoT microcosm, IoT-Analytics looked at Industrial IoT in particular, and highlights the fact that “IoT is on the way to become mainstream as projects are becoming more successful and common challenges are decreasing”.
This report is also looking at how companies are approaching IoT developments, categorizing these approaches into 3 buckets: Build, Buy-and-Integrate, Buy. Depending on their needs, in-house capabilities and outcomes expected, the 3 approaches have their merits and caveats, but I am not going to dive into this as I am mostly interested in highlighting the IoT developer’s role in each.
Two out of five IIoT projects are still built in-house and even though I foresee this number going down it’s still a large one. In this Build approach, companies source talent and create most of their IoT solutions in house and the importance of IoT developers in this scenario is a no brainer.
The Buy approach has grown from 9 to 30% in the last couple of years only. In this approach, IoT adopters look for (and find) off-the-shelf turn-key solutions. They source the solutions from IoT vendors that employ highly skilled IoT developers creating these E2E solutions addressing specific scenarios. These IoT developers usually have a deep industry specific knowledge that extends beyond the pure embedded and device connectivity.
Where off-the-shelf E2E solutions are not available IoT adopters will go for the Buy-and-Integrate approach. While this certainly look like the most sustainable and future-proof way to go, this approach presents IoT developers are involved on both the development of the individual parts built by vendors as well as in the integration of all these parts on the adopters’ side.
New challenges faced by IoT developers
Independently of which approach is used for an IoT project, all types of IoT developers are facing new challenges, from embedded up to Cloud integration of IoT solutions.
Embedded IoT developers have been tackling the challenges of programming microcontrollers and low-power systems, optimizing performance, and enabling real-time decision-making on the edge for some time now. They possess expertise in programming languages such as C and assembly and have a deep understanding of hardware design, and that’s not going to change: these skills are still and will continue to be in demand in the industry. But as embedded devices as becoming more capable, embedded IoT developers now need to ensure seamless integration with communication protocols while maintaining efficiency, reliability, and security as devices that used to be physically protected from external threats are now connected beyond local premises and exposed and require a new level of security.
The emergence of AI adds another layer of complexity to embedded IoT development. These developers must now navigate the intricacies of optimizing machine learning models for resource-constrained devices, ensuring efficient model deployment and quantization: TinyML is now a thing to consider in many Embedded IoT projects.
The main reason for connecting IoT devices is to better integrate Operations with Business apps (I’m sure you heard about integrating OT and IT already). In a previous post I discussed this integration, and which really integrates into which. In this new context, IoT developers now need to integrate technologies originally developed for the Cloud into IoT systems. Containers and container orchestrators allow to distribute intelligence across hybrid infrastructures in systems that used to be monolithic and specialized. These recent technologies add flexibility and augment these systems but also add a new layer of requirements and complexity. Now IoT Developers need to understand and work with containers (at least the ones working on the “heavier edge”).
Connectivity, Intelligence at the Edge, these are just a couple examples of new types of challenges IoT developers must face today.
A new breed of IoT developers
Building IoT systems is no longer only about embedded devices, or devices + Cloud, it’s about complex distributed solutions that on one end integrate with (often ancient) industry specific hardware and networking technology and on the other end with (not always) modern business applications, workflows, and solutions.
A new generation of IoT developers is emerging to complement the more “traditional” embedded IoT developers. A generation that approaches IoT from the Cloud perspective rather than from the device perspective. A generation that learned coding with GitHub, DevOps, Agile methodologies, are used to pick their preferred coding language, leverage open source, rely on Cloud micro-services architectures.
This new breed of IoT developers is modernizing at an accelerated pace the way IoT applications are built, and forces Embedded development to modernize itself in the process.
But these new IoT developers still must understand the specificities of IoT devices, the limited resources they can rely on at the Edge, whether on Embedded devices or on gateways and embedded servers.
The emergence of the Industrial Metaverse (I had to bring this one up)
As we envision the future, the concept of the industrial metaverse comes into play. This metaverse represents the convergence of the physical and digital realms, where IoT, AI, Edge Computing, and other technologies blend seamlessly. Everything will have a digital representation of itself, a Digital Twin: a sensor, a device, a machine, a room, a building, a person, a factory, even an entire city! And it’s in the digital world that insights will be extracted, simulations implemented, decisions made, processes and product optimized. It’s where the integration with business applications will happen as well.
IoT developers, including those specializing in embedded development, will play a vital role in creating digital models of things, building their Digital Twins, feeding the twins with real-time data to connect them with their physical version and shaping the Industrial Metaverse. They will design sophisticated IoT ecosystems that integrate virtual and augmented reality, artificial intelligence, and robotics while accounting for resource-constrained devices. This fusion will unlock new frontiers of innovation, transforming industries such as manufacturing, logistics, and energy.
IoT developers have a bright future ahead of them, but they need to adapt (fast)
Looking ahead, IoT developers have a unique opportunity to adapt and thrive in this evolving landscape. Their expertise in building scalable and secure IoT architectures, combined with their ability to integrate AI and Edge Computing, positions them as indispensable contributors to the industry.
While recent decisions by major companies may raise concerns about the future of IoT developers, it is important to view these changes as part of a broader technological landscape. The rise of AI and the growing need for Edge Computing and the emergence of an Industrial Metaverse reaffirm the importance of skilled IoT developers in bridging the physical and digital realms.
My (humble) recommendations for those looking at IoT Developer as their potential future gig, as well as for those IoT experts willing to keep this badge of honor:
If you are passionate about electronics and embedded software, keep digging, but at the time, look at the bigger picture and start tinkering with Cloud connectivity, TinyML, K3S and other lighter distributions of Kubernetes, as well as with modern development tools and methodologies which are becoming the norm across the board.
If hardware looks daunting and complicated to you, start playing with maker kits, simple no-code or low-code solutions, use your preferred dev language to code for a device, and blink an LED. But do this while trying to understand how things work under the hood. You will need to understand what resource-constrained really means for these devices to properly integrate them into your solution, or to control them remotely. Learn about embedded operating systems and hard real-time, even if it's only theoretical.
Think “Digital Twins”. Everything can will have a digital representation of itself. IoT is the backbone connecting the real world to its digital representation, which is where insights will be extracted, simulations implemented, and decisions made.