Hm, I work with Embedded systems and each product has a different virtual machine that's hosted somewhere.
I have nothing in my work machine but a linux shell. I just vi everyplace in the world, edit things there and compile there and then scp to the product. My work is 100% remote.