I use a Mac, I work on dotnet stuff at AWS, I need Windows occasionally and I don't like how slow Virtual Machines make my laptop. So whats a developer to do?
One option is to carry a second Windows Laptop. Another is to have a a PC that you Remote Desktop into... All valid options. All utterly passé.
What do I do: I use Amazon Workspace. Its like a Windows Desktop in the cloud. All provided as a managed service via your AWS console.
I could have set it up myself from my AWS account, however my IT department set it up for me on their account and sent me an email to install the client. I installed the client and entered the code that admins provided for me.
The cool thing about that is that the Machine is actually connected to my corporate network and logged in with my credential and so I can easily access resources, such as source control, which are behind the firewall without using a VPN.
The setup required me to enter my domain credentials and a multi factor token that we use with our corporate accounts here at AWS. You can then get Workspaces to save your credentials so that you don't have to enter them each time.
The service then sets up a connection to a Windows desktop that I can use. It's very low latency and what's best, it's not using any of the resources on my Mac. I can build and compile to my hearts content all on my remote machine. I can easily cut and paste between the two machines; which is essential for my Stackoverflow-driven-development style.
You can pump it up to full-screen and then three finger swipe between Windows and Mac which is how I use it.
The best of both worlds.
As a user I can also bump up the power that the machine has, directly from the client:
If you want to know more. Check out the docs: https://aws.amazon.com/workspaces/