The Windows preinstall paralysis
I have been a Windows desktop user for many years, even as a programmer. But I also worked with Linux, mainly in shell mode on remote servers. I did contemplate many times on trying a Linux desktop but was always too comfortable with Windows plug-n-play, afraid of hardware compatibility, learning new stuff and what-not. Looking back on this paralysis, I wish that someone would have slapped me (real hard) earlier to wake me up from this infectious Microsoft abuse.
As a programmer there is no good excuse to use Windows unless you work for Microsoft. Linux is simply the best operating system out there for programmers (go ahead, flame me). Linux will, without doubt, make you a lot more productive once you’ve learned to take advantage of it; especially the shell and having the power of Open Source at your fingertips.
Unless you are gamer you have everything you need and more. Ah, but you are having that occasional powerpoint or word document obligation to please your manager? Nah, not a good excuse for you or your manager. Use GRUB, a VM or similar and be done with it.
If you are a novice and want to use Linux professionally my advice is to start by installing a Linux desktop at home. This forces you to get comfortable with it. You don’t want to mess up at work. I began with a Ubuntu distro but later switched to Debian for sake of stability, memory footprint and liking the social contract. I want my window manager light and snappy but still user friendly, so I am using XFCE at the moment.
Try to setup a home network, learn the filesystem, bash, the software/package system and format, how user/group permissions work, configure nifty little keyboard shortcuts etc. Do as much as possible in shell and configuration files. If you get stuck, google, all your problems have been solved before. The community will be there for you. No license or expensive support contract needed. All we ask from you is to later do the same for others. You will soon be flying casual.
Corporate governance rules that hinder programmers from using Linux should be alarming. Such companies are built on a foundation of control and regulation, not trusting their employees. Personally I avoid companies that take this freedom away from me simply because Linux have become my 10x productivity multiplier through the years. Really.
This is my five-finger-wakeup-slap on involuntary Windows users that I wish I got earlier. Linux is a lot easier than you might think.
Switch now. You will not regret it.