Petri Kauppi is a Software Development professional who has worked as a Developer and Architect in the field for over 20 years. In early 2020, Petri joined Symbio’s team in Espoo where he got his first touch to IoT project world. So far, he has been part of two different IoT projects as a Software Developer and Architect. We wanted to know why IoT projects offer interesting challenges to a Software Developer and what kind of added value it can bring to them. Here’s what Petri thinks about it.
His first project was for Symbio’s customer Lännen Tractors, where the team developed an IoT platform that is used to collect and analyse CAN bus data from Lännen Tractors machines. The data can be analysed in the cloud and processed further to develop value-added services for customers. Navigate here to find more information about the co-operation with Lännen Tractors.
The second project was for Symbio’s customer Kontram, were the team improved the utilization of measurement results and device diagnostics, and modernized the data handling and analysis systems. Symbio’s Edge IoT solution enables data utilization both on the local user interface and remotely using a cloud service. New features enable parameter setting and users can create rules for alerts. For more information about the project and Symbio Edge IoT, click here.
Fun and interesting work with a twist of endless possibilities
Both of the IoT projects I’ve been part of, have been super fun and interesting to work as a developer. You may wonder: why? Well, IoT offers a lot of possibilities that have not been used much in the past. As an example, with the data that is collected from certain devices, we can both provide and utilize real-time information from the devices for many purposes. This will bring new information and added value to the end user about the device they are using. The ways of utilizing the collected data in the future are endless and can bring so many benefits!
Bringing clarity to the life cycle of a software development project
Bigger IoT projects can be divided in to smaller projects quite easily. For example, in a first project you can collect and read data from a device, a second project can then focus on visualisation of the collected data, and in a third project you could continue the work i.e. related to integrations to third party systems. From a developer’s point of view, dividing the projects to smaller pieces and having clear goals for each project is great. It brings a lot more clarity to the life cycle and scope of projects and therefore the workload is much easier to manage for the team.
It is all about learning, learning and learning
In general, like in many other development projects, IoT projects too have many possibilities to grow a developer’s knowledge and competence from various aspects. Personally, I feel that I’ve learned so much from technical point of view in these past two IoT projects – and it has been exciting! The technologies we’ve used in these projects have included i.e. Python, C#, React.js, Azure. In addition, I have gotten the possibility to broaden my knowledge of new domains and their special characteristic and seen how different companies see the importance of the future of data: companies want to utilize and refine the data for various purposes.
To finish my thoughts of the topic, here are my TOP 3 tips to remember for a Software Developer working in an IoT project:
- Always start with the simulation of the data, it is super important: Keep testing aspect in your mind all the way from the beginning of the project. Make sure you use time for simulated data and make it possible to test the data flow.
- When you are starting to refine the data, utilize ready-made solutions if you find one. You don’t always have to do everything by yourself: DataFlow is important. Use your time to plan dataflow well, choose the right techniques and use existing data utilization and enrichment tools.
- Divide the project in to smaller pieces. This helps you to manage the project life cycle: Divide the project in to smaller pieces and take “quick wins” by completing limited amount of requirements at the first stage.