Pros
It's a great starting place to move forward in your career or to switch internally. I found that if you push yourself and show initiative, hard work can pay off. It also helps when there are a lot of great people around you who want to help. I get to work with a great group of people who enjoy what they are doing and who want to help others along the way. It makes for a more enjoyable working atmosphere. Really appreciate the unlimited vacation and food :)
Cons
Sometimes there is a lack of communication and things can fall through if your manager doesn't spread the information around. I find that there is more of a focus on technology and focus drifts off of other parts of the company, which I think leads to discontentment among the different functions/groups of the company.