I've recently left OSX for my development machine (I like Ubuntu better) but find I am missing out on Photoshop, so I created a Windows VM for using Photoshop, and it's working pretty well (I have a ton of RAM so I was able to allocate 8GB to that VM while it's running and it feels pretty good). I'm not a fan of developing on Windows BUT I do, on occasion, contribute to dotnet projects.
I'm using the VM, but have also considered an external install of windows (I only have a 256gb SSD, but I have an external SSD the same size I could use with USB 3).
There are advantages to both. The dual-boot would be more performant than a VM, but since I hate doing any sort of web development on Windows (nothing seems to work as smoothly or as quickly as it does with unix) I spend most of my time on Ubuntu and would have an easier time using a VM for most of my work.
Is there any way I can use a VM AND Dual Boot to the same Windows install, so that I wouldn't have two separate Windows Environments on one PC? Sometimes I'd like to just boot into windows but usually I like to use a VM.