Pros
*) Lots of technology and lots of change. *) Lots of money so it's fairly easy to get hardware and software requests through. *) Company is always trying to move forward. *) Lots of alcohol at work - many people have kegerators and beer fridges. *) Frequent motivational events with food and drink.
Cons
*) Due to chaos management routinely asks (expects) resources to work weekends. *) There is very little communication and technology sharing between the teams, which results in each team running in their own direction with their own choice of technology. *) Technical managers know absolutely nothing about the technology. Words like API and Tomcat are alien and simply do not exist in most managers vocabulary. *) Review process is from the late 90's Microsoft days - in short, even in high performing team, someone has to get a bad review as not everyone can be 'best'. *) There is a reorg every few months. *) Manager turnover is amazing. In one year I saw 6 people come and go in a team of 50.