Pros
A late stage startup that has kept it's agile startup culture. The products are mature and profitable, but we continue to add value and develop new features. For an engineering job, there's a lot of opportunity for growth, designing and owning projects, and interacting with customers, if you're into that. Management is always asking for feedback and input in improving our processes and our products, and is very transparent in explaining the rationale behind business decisions. Rather generous perks in regards to unlimited/responsible PTO, work from home policy and flexible hours (may be engineering specific). Managers are generally understanding if you need to come in late/leave early on short notice for errands/pick up kids, etc. Fun office events at least once a month. Lots of free swag too, although there always can be more. Free food appers in the office somewhat often, in addition to the already available free 2 meals a week + gratuious snacks. A lot of interest groups in the office, people play board games after work Monday nights, the runners go out for a 5 mile jog Wednesdays, the foodies go out to eat lunch somewhere fancy every Friday. There's just a lot going on.
Cons
Comes with being a startup, but not as much support is available to ramp up new employees, and they are largely responsible for reaching out to busy coworkers to get up to speed. As a new grad, I felt unprepared and overwhelmed by the responsiblity and "real production issues" that I had to tackle within my first few weeks. I would say it was a great learning experience, though, for those who can handle working under pressure. Although Mountain View is considered "HQ", much of the engineering team is centered in Poland and operates in that timezone. As a result, you will most likely have to attend at the very least biweekly meetings at either somewhat late night (22:00) or worse, very early morning (06:00, not me thankfully). Also, the agile software development process is hindered by requiring approvals from people on the other side of the world. Very agile work environment, priorities and feature specifications change often to accomodate prospects' needs, or percieved needs. This can be somewhat frustrating when spending a lot of time and developmental resources creating features that are not even used (although it speaks to management's transparency that we know that they're not being used). Engineering is understaffed, more developers would be nice, but more importantly, we are in need for product managers in more than one area. A caveat to unlimited PTO/flexible hours and the small team, you may be required to do urgent tasks outside work hours/during PTO in emergencies.