What Developers Need to Know About IoT
Understand the business context, know the IoT stack, and be aware of the benefits and best practices of mobile, cloud, toolsets, data ingestion, and security.
Join the DZone community and get the full member experience.Join For Free
To gather insights on the current and future state of IoT, we talked to 23 executives involved with IoT. We asked them, "What skills do developers need to have to work on IoT projects?"
- You are not a cog in the assembly line. Think through the entire product experience. Weigh in at the design phase.
- It used to be OK to be a good developer. IoT is complex. You need to understand the business context of the solutions that you’re building. More successful developers will have a diverse mix of education, especially knowledge of the vertical in which they are working.
- Better integration experience with their team. Understand personas and business value. Create the right solution from the beginning by clearly defining the problem you are solving. Stay agile. Use CI/CD. Complete integration into runtime operations.
- Embrace learning the industry you are working in to understand the business problems, how the hardware ties in, immerse yourself in what you are doing and think beyond code. Be open to testing and iterating.
- Understand how industrial environments work and the protocols therein. How to get information on programmable devices. Modbus – how to register, how to translate, how to get information out of it. MQTT. Write value-added applications into predictive analytics engines and applications.
- Don’t reinvent the wheel. Security should already be a best practice. Learn the building blocks of IoT. It seems easy but you will spend a lot of time on integration which is hard. Focus on the core business and rely on well-integrated system platforms and build on top of them.
- Experience with embedded, connected devices. How to put together the whole stack – operating system, middleware, frameworks. How to make it secure. How to solve the updatability problem. Work through the operating system kernel to the application. Engineers need to know how to put together teams to address the different areas of the stack, as well as finding a company that can help. More off the shelf solutions, more user interfaces and microcontroller OS depending on the application.
- The IoT stack is different. Learn the real-time stack versus the legacy stack. Mobile and edge computing technology. Go beyond neat applications versus useful apps with the edge to add value. Know Java, Node, Objective C for the frontend and .Net for the backend. AI will be important so learn TensorFlow and Café for datasets.
- Python is the language of choice for firmware that doesn’t require C. Unless you have a compelling reason to create your own, the existing frameworks are very powerful and can scale. Twilio is a good SIM management platform. Don’t start from scratch. Use the available tools to shortcut the process.
- Play around with a Raspberry Pi. Connect to sensors. Put data in a database and start looking for trends. Doing so teaches you to think differently than relational databases. Play with weather instruments and plot into a graph.
- I believe successful developers will need to have tools and skills to handle real-time data ingestion and get insights from connecting all data points.
- Need to know hardware and software. Think about how to make the physical product. Frontend and backend software – iOS and Android. Bluetooth implementation and how to pair with every device. This gets more complex in China. The backend becomes more important. Think about how to design to scale and handle massive amounts of data.
- Developers need to be a tinkerer, hardware hacker, and a software enthusiast. In addition to that, they need the ability to read technical documents since this is still a new field and learning never stops.
- Expand scope to include hardware, software, and engineering. Not that you have to do it all but be willing to work with others to solve business problems that add value rather than just writing code.
Here’s who we spoke to:
- Adam Fingerman, CXO and Co-founder, and Troy Petersen, Marketing Director, ArcTouch
- Andreas Pettersson, CTO and CPO, Arcules
- Sean Grundy, CEO and Founder, Bevi
- Jeff Bonnell, V.P. of Industry Solutions, Coresystems
- Eli Feldman, CTO, Advanced Technology, EPAM
- Brent Pietrzak, V.P. Producer Solutions and Strategy, Flexera
- Scott Allen, CMO, FreeWave
- Mark Herring, CMO, Tim Hall, V.P. of Products, Brian Mullen, V.P. of Business Development, InfluxData
- Dipti Borkar, V.P. of Product Marketing, Kinetica
- Crystal Valentine, V.P. of Technology Strategy, MapR
- Jesse Robbins, CEO, Orion Labs
- Lars Knoll, CTO, Qt
- Olivier Pauzet, V.P. and General Manager IoT Solutions, Sierra Wireless
- Jens-Ole Graulund, CTO, Spiio
- Monte Zweben, CEO, Splice Machine
- Shawn Reynolds, CMO, Telit
- Yu Xu, CEO, TigerGraph
- Ray Wu, Founder and CEO, Wynd
- Alex Kubicek, CEO, Understory
- Jeff Finn, CEO, zvelo
Opinions expressed by DZone contributors are their own.