Pros
The company truly does value its people from the top down. Brooks, the CEO, is approachable and down-to-earth, and my managers genuinely cared about me and my peers. There are volunteer programs and team socials, great company parties, good coffee and beer on tap, etc. The software team is boisterous and open to self-expression. Toys, games, and goofing around are uninhibited as long as the work gets done. I often had to go into a quiet room to focus, but they do exist for that purpose. It's a very straight-cis-white-guy team, which I am not, but the very few times I had a problem with a coworker were handled appropriately and with real human concern on all levels. The actual work was interesting enough, and I felt empowered to make decisions on how to do it without a lot of friction. But it's really the people who kept me there for as long as I did, and made me respect the company as much as I do.
Cons
The divisions within the company are unusually strong for its small size, and I saw them getting worse as it grows. The sales team seems to get the most priority from the top and the least respect from everyone else; from the outside, that side of the office often seems like a daytime frat party. For all the growth and new investment, the development team has stayed nearly the same size for years, and views itself as undervalued. New software requirements and deadlines are too often determined by other teams without input from those who will be doing the work. Usability and acceptance decisions are made by non-technical managers, not by customers. Employees are expected to provide their own computers to do their work. It took years for them to offer an inadequate stipend for this, and the result is a chaotic mix of technologies with no one in charge of supporting them. This always struck me as bizarre, and my concerns that it was hurting them in recruiting developers were met with shrugs. Training and advancement opportunities are mediocre. In the time I was on the dev team, exactly one internal employee made it to a management/architecture and stayed there. Their concept of an education program is to reimburse 50% on books, conferences (not travel), and so forth after the fact. It's very hard for developers to switch roles to things they'd be better at, and decisions affecting the team as a whole are often opaque.