Career development is great. Microsoft has a clear measurement tool for employees to know how well they are doing and what needs to be completed to get the next promotion.
If you are not satisfied with what you are currently doing, you can easily switch to a different project in a different group internally. You can also switch your role, such as from a software developer to a program manager. You can also choose what to focus on for your career: as a manager and walk onto the management path, or be an individual contributor and grow yourself as an expert.
You do still need to compete with others to get a promotion because of a limited budget, but the opportunity of getting a promotion is always there.
Health benefits are also another great reason to work for Microsoft if you have a family.
Though the benefit that comes with Microsoft is great (lots of discounts when buying stuff because of the partnership), there's no great cafe on the Microsoft campus, nor are there three free buffet meals as in other companies. You also need to have a high EQ because no matter how well your team has achieved in the product, there will always be some people in some newsgroups or websites whining and bashing what you did and what you provided to them. They never appreciate anything you have done. The next thing is the stock does not grow crazily like other competitors; it is more stable.
Marketing is not doing a good enough job. Microsoft has so many products, free and not free, but not everything has captured everyone's attention. Like Microsoft Expression Studio, not many of my friends are aware that we have such a great product. Zune advertisement and store management are not doing well either. A lot of vendor stores' employees are not objective enough to promote or compare Microsoft products with other companies' products. Microsoft can do much better!
It took a day. There were 3-4 interviews with different people. All questions were technical.
Two extremely tough phone interviews. The coding problems were very tough, but I managed to do well. Onsite: 4 interviews: One interview had extremely easy questions. One interview had very open-ended questions. I could not figure out what was wan
I had four 1:1 interviews. Questions were general algorithms based on trees, arrays, and strings. My last interview did not go too well, so I was rejected.
It took a day. There were 3-4 interviews with different people. All questions were technical.
Two extremely tough phone interviews. The coding problems were very tough, but I managed to do well. Onsite: 4 interviews: One interview had extremely easy questions. One interview had very open-ended questions. I could not figure out what was wan
I had four 1:1 interviews. Questions were general algorithms based on trees, arrays, and strings. My last interview did not go too well, so I was rejected.