Pros
Interesting problem space. Great benefits, and very good compensation for a company of this size. Very cool technology stack. Decent working hours when it's not crunch time. There is a diverse set of employees from very different backgrounds and experience to learn from. Hard charging CEO. The majority of employees are invested in the company. Within engineering turnover rates are at or slightly below average (post-2012). Fun employees.
Cons
Getting big enough, or bogged down to the point where the time spent talking and coding are comparable due to sideways and upwards management. Lots of mundane work that should be automated or distributed better instead of throwing overqualified people at the problem - a number of talented employees have come and gone and should have spent their days doing more meaningful work. Constant firefighting drags down motivation and leaves no room for innovation. Good ideas are proposed but very few people are given the time or resources to follow through and sometimes with non-existent accountability. Sales-driven approach and utility domain leads to a large amount of time spent customizing instead of focusing on technical debt or product development with depth.