The packetmanager is the key feature that disqualifies windows as a development OS almost entirely.
The other key feature is the bash. No GUI required. This point might be outdated due to Powershell. On Linux, i can do EVERYTHING from the console. On Windows, the CMD is like build around the GUI. On Linux, the GUI is an *extension* to the console to simplify things.
I use the console on a daily base. For editing files, for git, for running tests and backups. The Windows CMD sucks. It sucks. Powershell never got my attraction, maybe its good, i don't know.
gcc, make, cmake, etc. easily installable. One simple command. Most libs, also one command.
No path or include struggle. On Windows, some tools come via cygwin or mingw. So why would i use Linux/Unix-Tools on Windows?
Personal Points based on my experience with Windows:
What really takes the cake is services like Webservers or Database Servers. On Windows you have to deal with starting and stopping services, considering and configuring random autostart and weird paths for config, logfiles and data.
Linux is structured. One location for config, one location for logs, one location for data. You still have to deal with starting and stopping the relevant services, but in my *feeling* the whole system reacts a lot better to services.
Overall, (my) Linux is a way more responsive and integrated development base than i ever got my Windows in 10 years.