Pros
There is internal mobility program, so you could change project if you don't like it. There are a lot of activities except job.
Cons
I was aware that it's a best company. But I decided to relocate from Russia to Poland 6 months ago. I was hired as developer, but project manager ignored my employment agreement. Actually, It was strange situation when we had to do fake plans, fake deploys. The main goal was to get confirm from customer side that release is ok. We reached it by deploying application on production without any QA, without testing. We had unworkable dev and testing environment but manager didn't aware about it. He said that our main goal to save his back. I tried to escalate this issue upper but the result was.. they asked me to change company.