This is good advice.
Also, Windows is an excellent way to learn systems programming because the documentation and tooling is so good and things hardly ever change.
There is a wealth of documentation on MSDN for writing device drivers and such. And great tools for remote debugging so you can set up a VM in hyper-v and step through the code from the host system.
Do make sure if you're analyzing malware you do it in a VM on a machine you don't care about having to wipe, and isolate it from the rest of your network.