Company: Microsoft
Date: 2011-05-07
Overall rating: 3/5
Employment status: current

Each team, and in fact each manager makes a difference in how you perceive Microsoft.
Pros: -- People
The company has grown a lot in 20 years from < 10k people in size to the a combined count of full time, contract, vendor, etc. totaling almost 100k people in size.  As a result the "bar" for working there has certainly changed over time - but let me tell you Microsoft still has a lot of smart people working there.  The challenge is finding the right place for yourself where you 'click' with your peers and more important your management and feel it is the right place for you. 

-- Types of opportunities
Microsoft offers a little bit of something for anyone interested in computer science, consumer project management, marketing, etc.  Computer Science problems galore from operating system kernels (windows, windows phone, xbox, windows embedded), games (xbox, pc games, mobile games), search engines (bing.com, FAST), productivity software (office, sharepoint), compilers (CLR, CLR for mobile, Visual Studio), etc. etc.  with something to offer for just about anyone.  

Outside of tech specific jobs, Microsoft has a huge legal department, hr department, etc. Keep in mind that even though each of those departments has a core set of employees as much as possible that is not business essential is farmed out to vendors and contractors as well - which can be a totally different spin on "working for" Microsoft.

--- Getting things done: You can find an expert in just about anything.
Finding others that share a passion for a specific type of technology, a specific type of business problem, or a particular area of research is usually very easy.  Especially if you are not afraid of asking people for a push in the right direction in email over and over until you find someone that is right to tackle a problem you're focused on.  But it requires the soft skills of working in the BIG (and I mean BIG) company that Microsoft has now become. But this can lead you to the pm/dev/tester/architect that owns that problem set and is more than willing to bring you up to speed on the focus of their passion.  Huge plus!
Cons: -- Job scope
Microsoft has grown into a company where a lot of the jobs have rigidly defined scopes and it becomes about doing whatever it is that will please your maanger and maybe one to two of their peers to do "well" at review time.  It used to take an understanding of the product and the business and someone that was willing to step up and "do the right thing" at the right time to make sure the product would ship on time and with high quality.  Now it feels that more people just look to management to spoon feed them what they will do for the next day or week... I miss the vision each person used to take into the job where they wanted to become the world expert in ____ and make that area they owned the best code / solution possible.  Again - this could be an artifact of the large growth and maybe there are just as many folks still doing what I am wishing for as there was 15 years ago but it gets drowned out in the signal:noise ratio.