Developers should use whatever platform they are most comfortable with.
Where I work, all of our code is designed to run on Linux, but all the developers ran Windows. Things were messy, because everyone created a tool chain around Windows (VMs with mounted shares, dev tools run locally on Windows, etc.), which did not work in production. When I came in and moved the toolchain to Linux, the integration became much nicer, because I could target Linux, but hand those tools off to the Windows users expecting minimal cross-platform fuss.
It's different enough to be frustrating (which is the best anyone can ever claim for Windows), but it definitely provided a lot of real value to us.