Pros
i can move to work in wildly different areas over the years without losing seniority or worrying about your pay. I did Windows, IE for Unix, Flight Simulator, peer-to-peer, touch mouse, research, distributed file systems (cosmos) and now cloud computing (Azure compute). It’s awesome. Good pay, great benefits, awesome work environment, and really nice area to live in (Redmond / east side), at least for the things I value
Cons
At Microsoft engineers did not run web services. High resource requirements. As opposed to the makers of other operating systems, Microsoft requires its customers to invest the most in their computer hardware: a faster processor (the CPU), more internal memory and a larger hard disk. Microsoft have always maintained that this is due to all the extra functionality that they've added, as demanded by their customers. Actually, few people make use of many of those features, yet everyone is still forced to contend with the additional overhead that is the result.