I have updated advice for [Login to see the link] in hopes of increasing your potential to earn income.
I respect [Login to see the link] and [Login to see the link], who both have direct experience in this field (more than me), and I'd like to hear both of their opinions, whether they agree with the following...
I thought a lot about how a person could best learn IoT (and more importantly, IIoT) in a manner that would earn more money and help them gain the best understanding from the beginning.
It occurred to me that distributed middleware/GUI such as MQTT and Node-RED might be the most effective way for you to get started.
For example, if you were to setup a turnkey IoT distro (VM or Pi with a simple one-click .ISO) they will often include MQTT and NodeRed. Configure that (very easy), then connect these to a few turnkey microcontrollers (Sonoff makes the easiest, most turnkey microcontroller switches).
If you do this, you would have a better understanding of the architecture and how/why middleware/broker is more important than coding directly on the endpoints (the SoC's or MCU's).
I will repeat this because I believe it's so crucial to help [Login to see the link] avoid wasting time on a less modern/effective topology: You are better with a distributed architecture where the logic sits in the middleware/broker/microservices (in different topologies, we could use any of those terms) and being able to "picture" or experiment with this, prior to going further, might help expedite your learning and assure you are learning in the manner that is most advantageous to real-world applications that will help you earn income.
[Login to see the link] - Because you're learning the Microsoft IoT track, you may not yet have a lot of experience with MQTT or Node-RED (although MS does talk about them).
Node-RED is a graphical programming language built on Node.js. Inside Node-RED, you create "Flows" which are just workflows (leveraging a distributed network) where you can apply logic, similar to a simple program. For example "Sensor 1 shows a presence, Sensor 2 shows the door is open, Sensor 3 shows the temperature is X ... Therefore ... Do X."
MQTT is a protocol and often people include the message broker in their view of MQTT. Node-Red has overlapping functionality; however, MQTT has its own benefits and if you would like to do this for income, MQTT is very important with IIoT.
Most importantly, this will allow you to create a distributed network (much like you'll have in any IIoT deployment willing to pay a developer) where you can quickly deploy, test, alter and "see" your topology/code.
If you'd like to write custom code after you're done, that's great -- but having the ability to "see" the code, and think about it in this distributed architecture, I think it will be a huge help. Both in learning and in expanding your potential to earn income.
In addition, you might also want to play with the new MATTER IoT protocol (based on IP, can run over WiFi, etc). I have not used it (yet), but I head that it has become very popular over the past year.
That's just my opinion as a result of brainstorming how to best help you. I will yield to [Login to see the link] and [Login to see the link] for their opinions 🙂