Company: Microsoft
Date: 2014-08-18
Overall rating: 4/5
Employment status: current
Experience level: Senior

Challenging, broad
Pros: There are two things about Microsoft that make it top notch for software engineering.

The first is the focus on the business.  This may seem counterintuitive but the business focus is an excellent lens through which to look at software design and execution.  I previously worked at a company which was arguably a better engineering company but the lack of business focus led to software projects not having longevity and ultimately to the collapse of the company.

The second is the people.  It's said that if you are a jazz musician and you're the best in your band, you need to change bands.  There is very little danger of topping out in Microsoft.  There are always excellent skilled engineers to challenge you.
Cons: Microsoft leadership stalled for a decade or so where more focus was paid to just business rather than a balance of business and engineering.  The top echelons of compensation are epic; competition is fierce and winning is defined by profitability which has led to thinning of the product herd to only the most obviously profitable (or necessary) investments.  Satya's leadership has hope of changing this but when you see references to Microsoft's environment being "toxic" this is the root cause with the old stack ranking system in a supporting role.

Work life balance is clearly your problem.  If you are ambitious and/or energetic there is always benefit to trading the work/life balance for work but it can eat you alive.  Do not look for your organization to guard your own work/life balance, it's up to you (as it should be but be cautioned).