Company: Microsoft
Date: 2015-03-18
Overall rating: 2/5
Employment status: current
Experience level: Senior

Trying to be better, still old habits die hard.
Pros: Engineering: Great place to learn world-class engineering. Experience the long term consequences of good/bad decisions of the past, appreciate them for your own wisdom.  Strong appreciation for quality, testing, and presentation.  Development tools used to be under-supported, but in the recent years they become much better supported on-par like products.  In the past, the practice of delving in a non-Windows platform even as a hobby would be against HR policy, but now cross-platform development is recently more acceptable/necessary.  Several opportunities for technical depth and impactful deliverables, depending on teams.

Benefits: Used to be great overall. Now they are still very good in a few areas, overall they are more closer to other larger companies.  Pay is comparable with the larger companies. 

Career: The company is now strongly catered toward advancing manager roles.

Donations/Volunteering: Good support from outstanding members.
Cons: Still lacking collaborative environment:
Seen the cartoon of the Microsoft organization chart with guns at itself? Yes, it is true.  In the recent years, the company has somewhat finally coming into terms with the problem and is trying to shift to a more collaborative environment.  Unfortunately, the successful veterans, many of who are managers of other people or owners of product areas, are failing/do not want to adopt.  Normal human behavior, they try but it is unnatural and revert to the old comfortable (unhelpful) ways, that gave them control and success in the past.  Several of them moved to other companies (e.g. Google) and are known to continue on the bad patterns. The problem is becoming lesser in Microsoft, but still pretty significant. This is not an issue with new hires without past experience; new hires do bring a more open/positive energy. 

Little life-balance:
This is something that has consistently been insane and has consistently been the lowest bucket of priorities.  It is an unspoken consequence that people who practice life-balance will not advance, or advance extremely slowly.  The problem is that if you are given a task and take the time to do it, you will be blocking other people who have less life-balance, and so managers rather give you a less impactful task.  Bottom line, a less impactful result means a lower review score.  If you want to advance and/or keep your job, do not count on life-balance, specially if your manager is from the old culture.  As many people over the years have attested, this is often not worth it; missed the time to live with your kids as they grow up, divorces, etc.

Weak individual contributor roles:
The company is now more catered to advancing manager roles.  However to become one is very difficult and political.  Individual contributors are now treated more-or-less as well-paid laborers.  Opportunities for innovation are very scarce and very tightly controlled; there are instead huge loads of fairly dull tasks that needs labor.  Most of the time an IC will be on these tasks and will no way get an award for them.  However, a manager having several ICs completing all these tasks will definitely get rewarded.  People have observed again and again how some managers are rewarded almost consequence-free, regardless of the product outcome, attrition level, or less-than-honest influencing.

Very bad leadership coordination:
Managers do not coordinate with each other very well, even with their own peers.  Often you will find separate teams with overlapping efforts, one manager is trying to out-do the other, instead of trying to align something greater together.  This was more pervasive in the past, lesser of a problem now, but still there (old culture).  This is a common source of frustration among ICs in trying to figure out what to work/not work.