Disclosure: I'm a dev at MSFT.
Disclosure: I'm a dev at MSFT.
That's just what I've gathered from reading articles about Google workers. Maybe I'm wrong and they really do work no more than 40 hours per week, including the 20%. But that is not the impression I've gotten from reading.
Just out of curiosity, why does everyone need more than one machine?
Note: I'm in Ops at MSFT.
But, not everyone at MS works with windows, which is why I was a little surprised about the statement that everyone had more than one machine.
The 2 biggest orgs inside MS are Office and Windows, devs in both of them can't have a single machine doing both the above tasks. (And VMs suck for disk based I/O, and that becomes a factor when you have multi-hour build time)
Honestly, the only blue badge that doesn't really need more than one machine is PM. Both SDE and SDET definitely need more than one to develop and test. Ops can manage a cloud with just one, but in theory, we all know that Ops has access to a ton of VMs, so I consider them as more than one machine.
If you develop pieces of the OS, I would assume they would give you a machine to rebuild occasionally (because you'll probably destroy it a couple times) and one to be a well-adjusted corporate citizen, reading your e-mail and filling out your paperwork.
I don't believe this is entirely true. VS will sometimes claim you need to be an admin and offer to restart as an admin, but you can click ignore in that dialog and debugging will work just fine. The one exception is if you are running as non-admin trying to attach to a higher privilege process, in which case you would need to be able to attain the same privileges as the thing you are trying to attach to, for obvious reasons.
Having more than one machine is very handy for when you need to run VMs to test different versions, and not risk getting your own main machine into a bad state. If you work on services, the VM runs a local copy of the service.