The focus stealing proclivities of both macOS and Windows for new application windows can also go die in a fire as far as I'm concerned.
I also enjoy the simple keybinds I have to sling windows between monitors and workspaces easily. I have no idea how I'd do that with any of the tools on macOS or Windows in a maintainable way (XMonad's configuration lets me cartesian product between (noun, key) and (verb, modifier) lists to make things very consistent).
There's an abundance of jobs available to you if you're a decent programmer, so avoiding the places which prevent you from running your OS of choice is a good first filter to apply.
These days with immutable containers, etc, it matters less. But a decent shell, the ability to run automation tools easily, etc makes a difference.
I know that WSL allows most things, and many devops tools are written in golang/rust, which are available for Windows, but I started at a time when Ruby, Perl, puppet, cfengine, etc, etc were basically not decent options on Windows.
I keep up, I use AWS, kubernetes, etc, but I'm used to flexible, scriptable, and predictable working environment - and for me that means Linux.