Company: Microsoft
Date: 2017-12-09
Overall rating: 4/5
Employment status: current
Experience level: Junior

Clunky But Mostly Positive
Pros: Smart people; love my team.  The culture seems to be improving, but you have to be careful who you work with.  I've had positive roles where I had a lot of autonomy and was well-rewarded, and dead-end-ish work that only yields frustration and poor reviews.  The best I can say is that most engineering work is really positioning yourself so that you can do well and avoid toxic situations.

The company does seem to recognize that big tech companies grind people down, and it tries to dilute the politics with one-on-one's, annual reviews, sabbaticals, etc., although most feel it is only partially successful.  However I'd rate it as better than most.  They also emphasize diversity, ethics and good business practices internally.

Some groups and products are doing well and getting better.
Cons: Low autonomy and creativity.  MS actually missed out on a patent from me because they gave me no support for the work.

Typical big-company tendencies such as fads, not-invented-here and blame-shifting.  
Some tools have been described (in anonymous internal polls) as at least 5 years behind; it's painful to sit and watch sometimes (actually all the time).  

Dogfooding instead of using the best technology.  "Nobody else is using it at this scale" -- Azure support for a tool that replaced something much cheaper and higher-functioning.