Company: Microsoft
Date: 2010-04-19
Overall rating: 4/5
Employment status: current

not bad
Pros: I love source code. I love reading it, writing it, thinking about it.

At Microsoft, I've had access to the source code for Halo 1 & 2, Internet Explorer, MDAC, MSXML, the .NET Frameworks and CLR, SQL Server, SQLXML, Virtual PC, Visual Studio, Windows, the Xbox and Xbox Live, and probably several other projects that I've forgotten about. Does it get better than this?

I sometimes joke that the day Microsoft stops providing free soft drinks, I'll quit. At least, everyone else thinks I'm joking.
Cons: Like most communities, Microsoft has its own language. One oft-used phrase is "work/life balance," which has many nuanced meanings. Taken literally, work/life balance is about finding a healthy balance between the time you spend at work and the time you spend away from it. It's about family relationships (for employees who are married or have children), and the problems that work and work stress cause. It's about the explicit demands that managers, teams, and Microsoft in general place on employees. It's about the implicit demands created when all your co-workers are themselves workaholics.

Microsoft starts off at a disadvantage here, because the people Microsoft hires tend to be driven and a little socially dysfunctional. So employees already tend to screw up their relationships with others and focus on work to the exclusion of everything else, without any encouragement from Microsoft. Also, the Seattle area is known for being somewhat isolating — lots of young, ambitious professionals with no time for making friends.

Microsoft adds jobs that are very mentally challenging, sometimes aggressive product schedules, a campus that's a bit isolated (and isolating) from the outside world, and voilá — you've got all the ingredients for poor work/life balance.

It's not all bad, however — some teams within Microsoft provide extremely supportive work environments. I personally know several large teams in which almost all the employees have families, or in which the team is unusually diverse (for a software company — e.g., >50% women). Naturally, the employees on these teams tend to experience significantly better work/life balance.