Vantaggi
Flex schedule - I don't get hassled on when I come in, leave or need time off. The pay is decent, enough so that I don't have to worry about anything. I get to learn about cool technology before others, there is a lot of that on the inside. The product you work on will reach millions of people, if that makes you feel better. It looks quite good on resume. You will meet some very smart people here, especially if you look for them. Alas, you do have to look. Depending onthe group you will have an office for yourself or share it with one other person. If privacy is your thing you'll love it.
Svantaggi
The tools we get to work in most of the groups with are arcane - mostly C/C++. Some groups do use C# or even F#, so make sure to ask if you care. Also our code bases are huge and we have to matian a lot of backward compatibility where I work. It is not nearly as agile as banging out new Web two-point-oh cool app. Also there is a huge disconnect between customers and {engineers, marketing etc}. This leads to a lot of stupid or "evil" outcomes.