An IoT developer builds connected devices and the software that collects, stores and acts on their data. There are two main paths: the Embedded IoT Developer, who programs the hardware, and the IoT Application Developer, who builds the cloud, web and mobile side. This roadmap shows what to learn for each, in order, with a 6-month plan and starter projects.
The two IoT developer paths at a glance
| Embedded IoT Developer | IoT Application Developer | |
|---|---|---|
| Works on | Microcontrollers, sensors, firmware | Cloud, dashboards, web and mobile apps |
| Main languages | Embedded C, C++, Python | JavaScript/TypeScript, Python, Java |
| Typical tools | Arduino IDE, ESP-IDF, PlatformIO, FreeRTOS | MQTT brokers, Node.js, React, cloud IoT platforms |
| Good fit if you enjoy | Wiring circuits and debugging hardware | Building apps, APIs and data dashboards |
Path 1: Embedded IoT Developer
Step 1: Programming languages
- Embedded C (must have) (course)
- C++ (must have) (course)
- Python (must have) (course)
- Bash scripting (nice to have) (course)
- Rust (nice to have) (course)
Step 2: Core concepts
- Real-time operating systems (RTOS), such as FreeRTOS or Zephyr (must have)
- The IoT value chain: device → connectivity → cloud → application (must have)
- IoT security: secure boot, encrypted communication, safe firmware updates
- Wireless communication: Wi-Fi, Bluetooth Low Energy, LoRa/LoRaWAN, Zigbee
- Low-power design: sleep modes and battery life
Step 3: Microcontrollers and boards
- Arduino Uno/Nano: the easiest way to learn GPIO, sensors and basic code
- ESP32: the most popular IoT chip, with built-in Wi-Fi and Bluetooth (see ESP32 vs Arduino Uno)
- STM32: industry-standard ARM microcontrollers for professional products
- Raspberry Pi: a small Linux computer for gateways, cameras and edge AI (see What is Raspberry Pi?)
Step 4: Microcontroller peripherals
- GPIO, timers and PWM
- ADC and DAC for analog sensors and outputs
- Serial communication: SPI, I2C and UART
- Wi-Fi and Bluetooth Low Energy (BLE)
- Memory: flash, SRAM and EEPROM
Path 2: IoT Application Developer
Step 1: Programming languages
- TypeScript and JavaScript
- Python
- Java
Step 2: Frameworks
- Frontend: React, Angular, Vue, Svelte
- Backend: Express, NestJS, FastAPI, Flask, Django, Spring Boot, Go
- Mobile: Flutter, React Native
Step 3: Protocols and concepts
- MQTT (publish/subscribe), HTTP/REST, WebSockets and CoAP
- Cloud computing basics and Linux
- Databases for time-series sensor data
- Networking fundamentals and system integration
- IoT security: authentication, encryption, device management
- Machine learning basics for analysing sensor data
Step 4: IoT platforms
- Open-source and SaaS platforms: ThingsBoard, The Things Industries, Mainflux, ThingWorx, Losant, Cumulocity, Datacake
- Hyperscale cloud: AWS IoT Core, Microsoft Azure IoT Hub
A 6-month learning plan
| Month | Embedded path | Application path |
|---|---|---|
| 1 | C basics; blink LEDs and read buttons on an Arduino | JavaScript/Python basics; build a simple web page |
| 2 | Sensors with ADC, I2C and SPI; serial debugging | REST APIs with Express or FastAPI |
| 3 | ESP32 and Wi-Fi; send data to a web server | MQTT: run a broker and publish/subscribe test data |
| 4 | MQTT from the ESP32; deep sleep and battery power | Store sensor data in a database; build a live dashboard |
| 5 | FreeRTOS tasks; OTA firmware updates | Connect real devices to ThingsBoard or AWS IoT |
| 6 | Build a complete product-style project | Build a full app: device → cloud → mobile/web |
Starter projects to build
- ESP32 weather station with DHT22: Wi-Fi, sensors and a live web dashboard
- Smart plug: control a relay from your phone over MQTT
- Soil moisture monitor that sends alerts when plants need water
- Door sensor with a Telegram or email notification
FAQ
Do I need an engineering degree to become an IoT developer?
No. A degree in electronics, computer science or a related field helps, but a portfolio of working projects matters more to most employers.
Which path should I choose first?
If you enjoy hardware, start with the embedded path on an Arduino or ESP32. If you prefer apps and data, start with the application path. Many IoT developers learn the basics of both.
Is ESP32 or Arduino better for learning IoT?
Start with Arduino for the basics, then move to ESP32 for anything that needs Wi-Fi or Bluetooth. Both use the same Arduino IDE.
This roadmap is a guide, not a fixed path. Build projects at each step, share them online, and join IoT communities to keep learning.
Related guides
- ESP32 Weather Station with DHT22: Step-by-Step Project (Code + Wiring)
- ESP32 vs Arduino Uno: Which Board Should You Choose? (2026)
- What is IoT? A Beginner’s Guide to the Internet of Things
- An Introduction to Arduino IDE and ESP32: A Powerful Combination for IoT Projects

1 Comment
Pingback: How to Install Python on a Mac: A Step-by-Step Guide » The Skypedia