Career guide

IoT developer

Connect devices to networks and the cloud, from the sensor on the wall to the dashboard on a phone.

EmbeddedCoding

14 Mokxi courses, then the real-world steps.

The job

What it is day to day

  • Write firmware for small WiFi or Bluetooth boards that read sensors and control outputs.
  • Send data to a server or a home automation system over HTTP or MQTT, and handle the network dropping out.
  • Write the code on the other side too: a small web page, an API or a script that stores and shows the data.
  • Think about power and security: devices that run on batteries for months and do not leak passwords.
  • Test devices in the field, where WiFi is weak and people do unexpected things.
Your path

The courses, in order

Each course builds on the one before. Every lesson runs in your browser, free, with nothing to install.

  1. Step 1

    Python from zero

    Beginner Python on a Raspberry Pi: print, variables, decisions, loops, lists, functions, dicts and strings, then a button with gpiozero and a working pedestrian crossing.

    7 lessons
  2. Step 2

    Embedded on the Arduino Uno

    One board, twenty pins and a C++ sketch. From a lamp you switch to a game you can play.

    16 lessons
  3. Step 3

    Interactive devices on the Uno

    Read people and sensors without blocking, control an output, then finish with two playable builds.

    9 lessons
  4. Step 4

    Talk to chips: I2C, SPI and UART

    The three buses every sensor, screen and radio speaks, on the Uno: serial between two boards, I2C scans and shared buses, SPI screens and an SD card, the logic analyzer, and a weather station that uses them all.

    7 lessons
  5. Step 5

    Embedded on the ESP32-C3

    A 32 bit RISC-V board at 160 MHz. Its own peripherals, its own 3.3 V rules, and a console at the end of it.

    13 lessons
  6. Step 6

    Embedded on the Raspberry Pi Pico

    A dual core Cortex-M0+ at 125 MHz. PWM on every pin, a 64 bit clock, and pins that do not forgive 5 V.

    7 lessons
  7. Step 7

    MicroPython on the Pico

    Real Python on a Raspberry Pi Pico: blink and the REPL, buttons and if, loops and PWM, a knob on the ADC, lists and functions on an LED bar, an OLED on I2C, and a reaction game boss.

    7 lessons
  8. Step 8

    Connected devices

    WiFi, APIs, a web server, MQTT, ESP-NOW and BLE on the ESP32, and a device that keeps going when the network does not.

    7 lessons
  9. Step 9

    Python with real habits

    Advanced Python on a Raspberry Pi, after Python from zero: modules, classes, exceptions, files and logging, tests with plain assert, generators, and a sensor logger that uses them all.

    7 lessons
  10. Step 10

    Debug like an engineer

    The multimeter, the oscilloscope, the logic probe and analyzer, Serial done right, and a method that finds any fault. Ends with a boss: three bugs in one circuit.

    6 lessons
  11. Step 11

    Low power products

    Make a battery last years: where an Uno’s current goes, sleep modes and wake sources, a power budget on a bare chip, measuring with a meter and an INA219, battery life checked against a draining cell, and a coin cell node.

    7 lessons
  12. Step 12

    Software design and testing

    How teams keep firmware right as it grows: readable code, modules behind narrow interfaces, fakes, tests on boot, test-first fixes, safe refactors and code review. Ends with a messy sketch refactored under test.

    7 lessons
  13. Step 13

    Firmware architecture

    How a whole device is put together on the Uno: a scheduler and state machines, ISRs that only record, drivers behind interfaces, checked settings in EEPROM, error codes and the watchdog, safe updates, and a layered multi-sensor boss.

    7 lessons
  14. Step 14

    Portfolio and interviews

    Turn finished projects into a job search: choose and document portfolio pieces, share links that run, read job posts and answer technical questions out loud.

    6 lessons
Skills

Your skills checklist

Portfolio

Projects to build and show

Open one, run it, change it, then share your version as a link that runs. The last course in this guide shows how to write each one up.

WiFi: a lamp on a web page

A device serving its own web page with controls.

ESP32 async web server

Live sensor readings and a relay control on one page.

Home Assistant multisensor

Four sensors on one board, the way smart home devices are built.

MicroPython web server on a Pico W

The same idea in MicroPython on a different chip.

API lab: fetch JSON

Calling a web API from a device and handling the response.

Next steps

After Mokxi, in the real world

Mokxi teaches the skills; employers, schools and licensing boards set their own rules. These are the common routes, and they vary by place.

Training and education

  • IoT developers come from computer engineering, electrical engineering and computer science degrees, and from software or embedded jobs with strong connected projects.
  • Community college programs in electronics, networking or computer engineering technology are a common start.
  • Learn the basics of networking (IP addresses, DNS, HTTP, TLS) and one home automation platform. Build a device you leave running at home for a month.

Certifications

  • No single certification is expected. Some people add a cloud provider certification or a networking certification for roles that lean that way.
  • Security matters more every year in IoT. Learning the basics of keeping secrets off devices and updating firmware safely is worth more than a badge.

Entry-level titles to search

  • Junior IoT developer
  • IoT firmware engineer
  • Embedded software engineer (connected devices)
  • IoT solutions engineer
  • Smart home technician
  • Associate embedded developer
Interview prep

Questions you may be asked

Short answers drawn from the courses. Say each one out loud, then check it on a circuit.

What is MQTT, and why use it instead of HTTP?

MQTT is a light publish and subscribe protocol: devices send messages to topics on a broker, and anything subscribed gets them. It suits small devices and many listeners better than one HTTP request per reading.

What happens to your device when WiFi drops?

It should notice, keep working locally, retry with a growing delay, and buffer or drop readings on purpose. It should never hang waiting for the network.

How would you make a battery sensor last longer?

Sleep most of the time, wake on a timer or an interrupt, take a reading, send it in one short burst and sleep again. Measure the current in each state to know where the energy goes.

What is JSON?

A text format for structured data: objects with named fields, lists, strings and numbers. Most web APIs send and receive it.

Where should a WiFi password live on a device?

Not in code you share or put in version control. Store it in the device's settings storage, set during setup, and keep it out of logs.

Why do 3.3 V boards need care with 5 V parts?

Their pins are not 5 V tolerant in many cases. A 5 V signal can damage them, so you use a level shifter or a divider on inputs.

What is the difference between polling and an interrupt?

Polling checks again and again whether something happened. An interrupt lets the hardware call your code when it does, so the processor can sleep or do other work in between.

How do you update firmware on devices already installed?

Over the air: the device downloads a new image, checks it is complete and genuine, writes it to a spare slot and only switches if it boots correctly.

Tell me about a connected project you built.

Describe the device, the data path from sensor to screen, one problem with the network or power and how you solved it. Show the link.

Start

Step 1 is Python from zero

Beginner Python on a Raspberry Pi: print, variables, decisions, loops, lists, functions, dicts and strings, then a button with gpiozero and a working pedestrian crossing.