Windows 10 on good hardware is very, very nice.
My advice is "don't fight windows". I've seen many people try to make Windows like Unix. Don't. Use Windows versions of things, not things compiled under Cygwin or MinGW. Learn to use Powershell and Powershell scripting language.
I do development (C/C++/CUDA/Erlang/Python) all day long on Windows 10 and in addition use desktop applications like Microsoft Office and Adobe Creative Cloud.
No problems whatsoever. My main machine -- a Surface Book -- has had no issues. It sleeps, hibernates, manages power, perfectly. The keyboard feels good and is dirt tolerant. (I also have a lightweight travel notebook -- a lenovo yoga -- that "just works" though it's a little underpowered for major development work)
Have been working on Windows machines (C# ftw) for a while now.
I hate it. Everything.
Kafkaesque configuration UIs, horrible window management, mouse acceleration is off, font rendering is atrocious, the updates make me unreasonably angry, mixed design systems leave me confused, File Explorer isn’t even trying, many apps are downright insulting, and the entire thing just reeks of PMs in ill-fitting suits prodding things this way and that with their doughy fingers.
And I need to install a linux subsystem to make it just about usable.
It’s a shame, because I do like the look of their Surface line.
Don't forget the file system and how locking by a rogue program can stop your build (and your workflow) until you figure out which program has a handle to the file you want to rebuild. The lack of scriptability of most tools. The perpetually behind C++ compiler. The lack of a proper terminal. The fucking ads. The broken updates. The relentless ratchet to control your machine and how you use it.