I'm a software developer. Windows 7 isn't bad, but I've hated many of the earlier versions of Windows, but been forced to use them, simply because there are so very many Windows users out there. Because that's where the users are, there are more options available for software (including more free options), and the Windows version of cross-platform tools (like the Eclipse IDE, like various database software, etc. etc.) is better tested/ released first/ better supported in forums, and the simple fact that most of the users of the software or web apps I write are windows users means that I have to test there anyway. There are lots of things -- like an FTP client, for example, where there are many good free options on windows, but the only usable versions for OS X cost money.
The big exception is if you're interested in iOS development. Apple really has that locked down -- you pretty much have to use their development tools, their programming language, their packaging tools, their app store, etc. if you want to sell software for the iPad or iPhone.
There is also some server software that runs most reliably on Linux -- and if you do any web development, at some point you'll be using Linux, but you can cover that base by setting up a VM on your windows machine, or having a cheap hosted virtual server at a host somewhere.