Company: Microsoft
Date: 2014-07-22
Overall rating: 4/5
Employment status: current
Experience level: Confirmed

"One Microsoft" challenges employees to work together, but doesn't outline "One Vision".
Pros: With a scope like Microsoft's there are many very interesting problems to work on. The teams are very energized and passionate about what they do. Employees are mostly smart, dedicated and interested in doing the right thing.

There are many great work benefits available such as training, internal conferences, and cross-company discussion groups on any imaginable topic.

Excellent health benefits and work schedule flexibility help provide for a good work-life balance most of the time.

There is a strong company value in making life better or easier for people. Most engineers think of the users. At other companies I saw more focus on managers, executives, or businesses as customers.

The engineering focus is on building things for the long term, and on enabling scale to huge numbers of users.
Cons: There is a tradition of open discussion, and your ideas can get heard - no matter what your position in the organization. The other side of this is the debate never stops, so decisions are rarely explicit, and often not completely followed. This causes a good deal of chaos for employees and for customers.

People are willing to collaborate when invited, but there's not a great culture of inviting collaboration. Many times I found engineers view reinventing on their own as easier alternative to finding the right people to collaborate with and starting a dialog. Similarly, people have their own ideas about priorities, and aren't always willing to listen or collaborate on  aligning priorities. 

Often teams build what they want to build rather than figure out what customers need and how to work with other teams to deliver that.

There is a culture of only solving problems by programming. I saw problems that were non-programming problems get ignored, or addressed as if they were programming problems.

Many of the leaders are engineers who understand the engineering and processes very well, but are less effective as leaders of people.

There is often an arrogant attitude that we know this business and what's needed better than our competitors or users.