Pros
Company culture is to hire bright, motivated people and give them a chance to show what they can do. For folks with a lot of drive, I can't think of a better place to learn, get experience and accomplish a lot. I've noticed that some folks keep shifting their role within the company - essentially, when they show they're able to get things done, they're given greater responsibility and put in charge of new projects. There's also a lot of camaraderie and friendliness. People have a lot of work-home life flexibility, and there's a lot of activities going on outside the office.
Cons
While I love working here, there are definitely several types of people that don't do very well here: People who have an entitlement mentality and try to coast in their job. You need to prove yourself, and folks with a "that's not my job" mentality get very little respect. People who aren't comfortable with intellectual rigor and supporting their opinions with facts and logic. Upper management comes from the technical world, and wants to know you've done your homework if you'd like to make changes. People who aren't very good at their job, and who aren't trying to improve their abilities. While there's a lot of coaching and "learn as you go" in the company, I definitely see folks who have plateaued and they're sort of kept on but overlooked when it comes to interesting new projects.