To develop software for an IoT solution, you can use various programming languages, including C, C++, C#, Java, Python, and more. You’ll also need to choose an operating system. This can be open-source software like Linux. To connect your IoT device to the cloud or to the network, you’ll also need a protocol. Popular Internet of Things protocols and connectivity standards are MQTT, AMQP, DDS.
An IoT platform such as Azure IoT Hub or Google Cloud IoT will provide you with all the necessary tools in software development kits (SDK).