Pros
The flexible schedule is nice. Some managers appear to support their employees, part of the time but will stab them in the back at a moments notice. The water fountain dispensed warm water but they had an ice machine on the other side of the building.
Cons
The office space is horrible. You get next to no personal space, and you're encouraged to not bring books into your "office" ( that's so they can lay you off at a drop of a hat ). A big deadline was announced coming up in 6 weeks. It was a completely unreachable goal. I worked 15+ hours a day for a month and a half to get everything done. Near the deadline, they required us to work weekends too. We met the deadline, the next day I was expecting a big "GOOD JOB", but instead they laid off 2 of the 4 software engineers working on the project, with very little severance. The same day, new software engineers in China were added to the team ( yes I have proof ). About a year before that, they offered me a bonus if I completed a given project by a certain date. I completed all the requirements 2 weeks before the date they gave. I was told that the bonus would be in my next paycheck, but when the paycheck came there was no bonus, and the next paycheck, no bonus, and the next... still no bonus. That went on for 3 MONTHS. I eventually got my bonus, but it took lots of emails to management and HR.