Pros
Smart, motivated colleagues. Relatively interesting projects. Lots of flexibility and the ability to telecommute. Decent compensation. If you're desperate for work, it's not so bad. But certainly don't leave your current job at a similar company to come here, especially if you're looking for stability.
Cons
The company operates in one of two modes. In the first mode, the company has taken on a project it is woefully ill-equipped to handle. Staff work to the bone to finish the project, putting in 60-70 hour work weeks, begging fruitlessly for extra help, and being constantly frustrated with their inability to create quality work in such a time crunch. In the second mode, the massive project is over and the company is overstaffed. Instead of being given the opportunity to build valuable skills, staff are tasked with inane and useless busy work until those who haven't already quit are let go. But don't think you're securely employed during mode one - staff are also frequently fired in the middle of heavy project work for minor mistakes or for some unspoken and never addressed reason. Because turnover is so high, employees spend lots of time relearning or reinventing institutional knowledge. Leadership is hopelessly confused about what motivates people. They flat out refuse to invest in their existing employees, instead pigeonholing them into the positions they believe they should be in and reminding them how dispensable they are. Very few employees are ever promoted. Management is 100% more likely to hire a random contractor off Craigslist with some questionable credential than to promote from within. Management is severely disconnected from the rest of the company, refusing to acknowledge problems and consistently turning a blind eye to feedback. Management responds to feedback, even feedback given by the overwhelming majority of staff, by insisting that employees have misread the situation and couldn't possibly understand the higher level "things" at work. Upper management has no vision. They have no idea how to be competitive in the field and seem actively resistant to updating their skill sets. Almost no one on staff has any hard skills and management seems weirdly bent on preventing anyone from getting any. Management is way more concerned with how people perceive them and their work than with the actual quality of the work.