Company: Microsoft
Date: 2008-04-27
Overall rating: 2/5
Employment status: current

Politics, Bureaucracy Burdensome for the Passionate.
Pros: Ultimately, access to technical documentation and source code, discounted books and software are great for the professional engineer; not to mention the lots of quality peers.  The benefits are the best I've had in my career, 100% coverage for most items means I walk out of the pharmacy, doctor, and dentist's office without paying a dime.  Learning how the business works in incredibly valuable to the aspiring entrepreneur.
Cons: The paradox is that a developer in a Microsoft product group that takes ownership of his deliverables and likes to be an independent thinker will have a difficult time.  Product groups, despite the frequent mention of innovation in internal documentation, rarely have the patience for it.  For someone that's worked in truly innovative environments, it may be disappointing to see what marketing will often label "innovative" to customers and employees.  We rarely truly interact with customers until after we've built and shipped product Betas--which can take anywhere from six to twenty-four months, depending on the project.  Often, the features customers want are two to four years out from the request if they weren't included in the original product definition.  Microsoft struggles with change from traditional development processes, although some groups are more proactive than others.  Most engineers I know are not domain experts--and being a domain expert, particularly when you are new to the company and there are few to no other domain experts (particularly in management), means it will be hard to be heard unless you have stellar social skills (i.e. influence).  Discpline managers (e.g. Software Engineer Managers) generally wield considerable authority, yet in my experience do not contribute to the discipline beyond process and negotiating contracts with other teams.  Microsoft often talks about passion, but it will be frustrating to see discpline managers that ask you to come in on weekends and stay late, when they aren't rolling up their sleeves themselves.  People are promoted into management too quickly, and many of these promotions seem to be based on friendship circles, so the heirarchy at Microsoft can be frustrating.  Politics are prevalent.  Employees are stack-ranked or "calibrated" against their peers (despite claims that this has changed, it has not) to determine yearly compensation and review, and this can adversely affect those that don't fall in line with their manager.  Bullying is common, as is back-stabbing, and there is no effective outlet.  I've seen slews of competent folks leave or be pushed out of teams due to empire building.  These issues consume much too much time for those that are truly passionate about software.