Pros
Being a software developer, you get to be a part of an elite tech community. There are a lot of things going on internally that you can use to grow your knowledge and skills. This is the only thing I liked over here. However, you may not get much time for these things.
Cons
My manager was all the time looking to stack rank employees and put his favorites on top. His favorites know that they are being favored so they always remain mum about all the wrong that is happening with you in the team. These things don't stop here. In my case, the credit for my work was given to my team mate. The work was so good that it could promote a guy. Also, I was given bad rating previous year without appropriate reasoning and was asked to leave once the project was over so that my work could be attributed to the other guy and manager could promote him. The manager had an incentive in promoting him as he had hired. Also, there was no public tracking of tasks. Although tools were available, my team wasn't using them. Timelines used to be there only for two people in my team which includes me. Other two people used to work in a relaxed manner without any timelines. Whenever they could finish their task was fine. This is probably the worst possible work culture on earth.