Pros
(I did not wrote my exact role, as I want to keep it anonymous) 1) WOW, they do invest in developers 2) They have a large team of developers. 98% of the developers will not feel alone there. 3) Great internal infrastructure. I think the best I have seen. 4) All internal infrastructures are open, you can always read internal code and learn, you don't feel moderated.
Cons
The company feels great - until they kick you off. On my specific occasion, I was expected to fill in for a specific rule/person, and the expectorations were just wrong. What they ended up doing is taking the previous person to re-fill my place. I was terminated with bogous reasons. Some of them "taking home lab equiement", meaning an IPhone which was given to me... and I left on my boss's desk - they could not find it when I was on vacation. Eventually it was found. I got terminated the moment I came from vacation, given 2 days to sit at home to cool off, and then got called to the manager office and had to sit down on the entry of the office, which I was an employee 2 days before. I was also escorted outside, so was not even able to say good bye to my co-workers. I later found out from other workers (yea, you can still see them on the train you know...) that sometimes people would just "disappear". So, it feels good, up until it does not. And you get kicked off in a very ugly way. And you cannot always predict it.