Pros
At one point, the company was great and had a lot of potential to be a great place to work, including a set of core values that most everyone bought into. The work environment is casual and flexible. A lot of the developers there really care and want to do good work.
Cons
As of right now, the company is struggling with financial and retention issues. They've always paid developers fairly poorly relative to the market, and I'm sure the current situation is not helping that any. The tension of the financial situation also means less than ideal working conditions because the company is in "survival" mode. Employee needs have taken a backseat to making the clients happy because clients can not afford to be lost. Unfortunately, these have led to many decisions that feel like short-term gains with very high long-term cost (like employee retention). Communication and transparency is not practiced well. As a developer, I often didn't know or understand what management was doing or why, and I didn't feel empowered to raise concerns. New management feels very disconnected from employees because of these reasons. I don't think that the current situation is all the current management team's fault - there were major decisions made by previous management that helped put the company in the state it is in today, but the new management does not seem effective at recovering from that. It is a tough situation to be in, so I think even the best management team is going to have to make unpleasant decisions. But I think this team could be better about how the handle those decisions, especially in regards to communication. It is unclear if they will be able to get out of this bad situation.