Pros
The pros: opportunity, community, culture. Opportunity: If you are fresh out of college, or looking to change careers, and you've been having trouble finding a place to get your foot in the door, you will probably have good luck here if you are intelligent and hard working. Also, they tend to promote people a little more quickly than in other similar companies. Community: You will find in this company an amazing group of young and talented individuals. In my life, I've never seen assembled in one place such a driven, intelligent group of people. While generally lacking in experience, most of these people I've no doubt will eventually grow into very valuable contributors. Culture: There's fun things to do, we have video games, pool, ping-pong and such in the break room. We have bi-weekly company-sponsored social events with beer and games. Sometimes there are other events too, ice cream, movies, etc.
Cons
Compensation, long hours, poor planning, poor processes, poor products, accute lack of experience in many areas, lack of product knowledge. Compensation is significantly less than similar organizations, there is no overtime pay, health benefits are average at best, no 401K matching. I can comment that at least one of the salaries posted on this site is grossly inaccurate; the salary for my role is posted as being 60% higher than it actually is. Management likes to say they value the results over the effort. This sounds great and seems to imply that if you get your work done early, you could work fewer hours. The reality is that for any given team, they plan and schedule more work than could be reasonably done with the timeframe and resources available. Projects are routinely behind schedule and require diving catches at the last moment by many more resources than were originally allocated, thus impacting other projects. In most cases, every individual hired for or promoted to a given role shows great potential, but has less relevant experience than would normally be considered for a role. This is great in theory, but what you end up with is that every person from entry level to VP is new to their role. Sometimes it works out, sometimes it doesn't. If you are in engineering, you are in a very unfortunate spot. A couple of the products are very old, very big, poorly architected, undocumented, and there is little in the way of senior resources or knowledge resources. With few exceptions everyone throughout the department is entry level. They are very bright individuals, with great potential, but trying to wade through a mountain of undocumented and poorly structured code takes a good deal of time.