The internet of things is nothing new to some people, while to some the Internet of Things is everything they have been waiting for. The Internet of things is growing fast. These devices will be connected to backend systems. It will change the life of a software developer, when it comes to connectivity, hardware, data, platforms and security.
So, in the IoT world, what’s new for a software developer?
The classic world of a software developer
The scope of a software developer according to Wikipedia: “A software developer is a person concerned with facets of the software development process, including the research, design, programming, and testing of computer software.”. Some of these responsibilities explain which roles are directly connected to a software developer.
Design and Testing are shared activities with a software tester and software architect. Other roles that are linked to a software developer is a business developer, a project leader and an infrastructure specialist. In a DevOps environment, the developer and the related roles are responsible for a continuous improvement of the business value of the product. It’s not about the code, it’s about the business value of the code.
That’s the classic world of a software developer. With the adoption of Internet of Things, this world will change. 5 steps how software developers will change into IoT developers:
Step 1 – Connectivity
In the classic world, the scope of the network was limited to physic servers and, in some cases, the cloud. These networks were surrounded by walls to guarantee safety. The connectivity in the network is filled by network protocols.
The world of IoT extends the scope, the network will be extended with hardware devices. These devices will have their own manner of connectivity. Think of LPWAN, ZigBee, RFID and NFC. Not all of these connectivity options are new, but with Internet of Things, they will be used a lot more. Furthermore, these ways of connecting are integrated in IoT solutions. The scope of a software developer will be extended.
Step 2 – Hardware
As mentioned in the connectivity part, the hardware used in IT systems in the classic world is limited to the cloud.
With IoT, more and diverse devices are connected to the internet. This will affect the world of a developer. In IoT scenario’s, more embedded software is created. Another topic is simulation, the digital representation of a physic device will be developed in most IoT solutions. An IoT developer should be able to understand the behaviour of hardware and should be able to developer embedded software.
Step 3 – Data
More connected things means more data. More diverse things means different kinds of data. Internet of things changed the way we handle data.
A data scientist will have the focus on data and the insights, provided by that data. The data generated by all the things and systems make data scientist the hottest job of this year. Getting insights from data to fulfil business needs is their responsibility.
The insights in data must be visualized in some way. UX designers and data scientists work close together to find the best visualization. At this moment, dashboards play a big role in the internet of things.
An IoT developer will be responsible for data processing, data storage, data preparation and dashboard development. A huge amount of data on countless different formats will be the standard in the world of an IoT developer. Besides that, the roles of data scientist and visualization experts (UX designers) will work even more close with each other in the world of IoT.
Step 4 – Platform
Software development was all about programming and running the program on a machine. With the introduction of cloud, more programs were created on VM’s in the cloud and even on PaaS services.
In the world of IoT there are more connected services, provided by devices, reference data and powerful analytics tools. Furthermore, serverless is the new trend, focus more on small units of code without the worry of a server. An IoT developer should be able to collect the correct services and connect them to each other. The solution is no longer one piece of software, it’s a collection of custom services, 3rd party services and a lot of API’s on a platform. For the IoT developer is key to understand the platform and use is to build the best IoT solution.
Step 0 – Security
Security is step 0 for a reason. It’s by far and without a doubt the most important responsibility of an IoT developer!
Two important situations when IoT developers should ask loudly: are we sure?
- With IoT, the network is extended with devices, but each device is a door to the network. And please be careful, VPN is not secure by default! Each and every new connected device is a risk.
- Second, the huge amount of data is a huge responsibility. Who’s the owner of that data? And what legal actions can be done with all that data? When data is transported to other systems, then it’s time to ask questions.
Security is a much bigger topic in the IoT world, the world where the IoT developers will work.
IoT solutions where privacy is not guaranteed will not be accepted. It’s important to see that privacy depends on security and IoT developers are responsible for secure IoT solutions.