I sometimes hear the claim that the hype of Internet of Things is over – with the implicit suggestion that the Internet of Things is over. It’s not true. IoT is ubiquitous: from connected homes to wearable tech, Industrial IoT in manufacturing, agriculture and supply chain, to health tech, smart cities, mobility tech and location intelligence – the use cases of IoT have evolved and are continuing the expand at a rapid rate of exponential innovation.
Innovation in product development such as the ability to create small, long-lasting batteries and chips at a massive scale and the reduced power consumption of today’s devices means IoT is becoming possible at a grander scale than ever before.
But I’m not into hardware!
Many people think of hardware engineering when they first think of roles in IoT, but there’s a vast number of tasks, technologies and functions align themselves with IoT:
- Devices need to be programmed to read the data from their connected sensors. Data needs to either partly or fully processed on the edge, and later sent to the server or cloud.
- There’s programming on the server-side and cloud storage.
- IoT platforms – the support software that connects edge hardware, access points, and data networks to other parts of the value chain and the end-user applications need to be created and maintained.
- Web and mobile apps provide a means to control and communicate with connected devices.
- UX is critical to ensure we can communicate with connected devices in the way they are intended.
- Management and monitoring of IoT devices – think device monitoring, firmware and software updates, diagnostics, crash analysis and reporting and physical management.
- The power of IoT harnessed through data analytics – a means to interpret and gain actionable benefits from the deluge of IoT data.
- The creation of platforms and marketplaces to share and sell IoT data
- IoT devices and their data need to be secured.
- Significantly, the combinatorial innovation of IoT with a myriad of other technologies including AI, machine learning, blockchain, and robotics means that gaining skills which align themselves with IoT leads to an abundance of career options across multiple sectors. The possibilities are limitless.
What does it take to work in IoT?
In terms of developer skills, the specific programming languages in IoT are vast and depend on what precisely you are working on. These include:
- Python
- Assembly
- B#
- C
- C++
- Java
- Javascript
- Php
- Rust and many more
However, IoT is not just about languages. You also need:
- A mindset that is genuinely interested in technology and innovation as platforms compete with each other and quickly become extinct and advancements in hardware like sensors and single board platforms and chips and CPUs mean the potential and capabilities of IoT are ever-changing.
- To be something of a tech news junkie – what’s being made, what problems are companies trying to solve with the use of IoT, what issues are unsolved? Who’s succeeding and who’s failing? How can innovations in one sector benefit another vertical? How to combine technologies for new possibilities?
- A willingness to look beyond what exists to what’s missing. Many of the most exciting companies are creating the technology that underpins the potential of IoT in the future.
How can I learn about IoT? Tinkering!
There’s a plethora of resources, tools, and teachings available for anyone thinking of finding out more about IoT. Tinkering is perhaps the most enjoyable way to dip your toe in IoT. Jo Franchetti gave a talk last year at Codemotion Rome about how she created wearable tech so her wedding dress with change colour based on twitter tweets.
There’s plenty of places to learn:
Hackaday.io: the world’s largest collaborative hardware development community. Maybe you want to turn a watermelon into a RetroPie games console, create a robot that can mix cocktails, or a soundboard to teach your dog to talk?
Adafruit: extensive resources to start learning electronics and circuitry from newbie to pro. Even better, Adafruit is a 100% woman-owned manufacturing company.
Raspberry Pi: A raspberry Pi is a very inexpensive, tiny computers. They’re a great way to learn how to solder together simple circuits, and link those circuits with software. Start with simple demo projects then expand as your capabilities increase. The Raspberry Pi IDE comes with more than 35,000 packages and walkthroughs of rapid installation using pre-compiled software.
Arduino: Arduino is an open-source hardware and software company, project and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. An Arduino board reads inputs – light on a sensor, a finger on a button, or a Twitter message – and turns it into an output – activating a motor, turning on an LED, publishing something online. Boards are made operational by sending a set of instructions to the microcontroller on the board. There are extensive Arduino resources, including tutorial and libraries suitable for beginner to industry level IoT projects.
What About IoT Qualifications?
2018, Florida International University became the first university in the US to offer a Bachelor’s degree in IoT. Stanford and Oxford provide certification courses. There are a plethora of online courses available, including:
- An Introduction to Programming the Internet of Things (IoT) Specialization (Coursera and UCI)
- Introduction to the Internet of Things and Embedded Systems (Coursera and the University of California)
- A developer’s guide to the Internet of Things (Coursera and IBM)
- Self-Driving Car Engineer (Udacity and several car companies including BMW)
Other great learning resources
Microsoft Azure IoT resources and Azure IoT Developer certification
AWS Developer Guide: (official Amazon Web Services (AWS) documentation for AWS IoT)
AWS IoT Device and Mobile SDKs The AWS IoT Device SDKs include open-source libraries, developer guides with samples, and porting guides.
An Introduction to Bluetooth Low Energy Development: equips you with a solid understanding of crucial Bluetooth Low Energy concepts before guiding you through a series of software development projects that will allow you to put the theory into practice.
Home Assistant: aimed at home automation and functions on the Python-based coding system. It’s an open-source tool whose IoT system is controlled with desktop browsers and mobile.
IBM Watson: The IBM Watson API enables you to attach a host of cognitive computing features to your applications.
Once you start digging, you’ll find there are a plethora of communities of makers and inventors and people passionate in IoT. Get involved – it might just be the start of a new career you’ve never considered!
Want to launch a developer event despite the challenges of COVID-19?
If you want to know more about how modern technologies and tools can support you for – and during – the organisation of a virtual event, don’t miss this article showcasing the best tools we used to host our online conferences since the COVID-19 outbreak.