Pros
If you're young and single, there are a lot of other young single people there to meet. The work area is pretty open air instead of enclosed offices if you like that kind of thing. There are pockets within departments where it's fairly insulated from the harebrained things going on, but you may not be in one. They're pretty forgiving if you come in late or leave early, provided your time sheet adds up to about 45 hours. There is free Starbucks coffee, fresh fruit (apples really), and 20oz sodas of all kinds for $0.25 in all the vending machines. As an engineer you can spend one day a month working on basically anything you want, even if it's only sorta related to anything at work. Every quarter there is an "Engineering Summit" where they have a decent speaker come in and give a talk and they give out some engineer appreciation awards to a handful of people and $100 cash. Takes up half a workday, and is pretty decent.
Cons
As a software engineer you'll be expected to work 45 hours a week without any any additional compensation. Not comp time, not additional pay, and not even thanks. The CEO is determined to grow the company by 30% per year to attract investors for when they inevitably go public. Due to the overwork and rush jobs required to grow at that rate, by the time they do go public, you won't want anything to do with any of the products. No one outside of engineering is held accountable for anything. The lowest ranking (and lowest paid) folks on the business side are allowed to commit the company to anything and everything. Including delivery dates for features or fixes that they do not even understand. Then the fact that they set the expectation with the client is used as a whip to force engineering to do whatever is necessary to deliver on their commitments. Sales will say or do anything to close a deal, and it's engineering that has to deliver on it, but engineers do not receive bonuses as a rule. Design by authority is the norm. That is, the CTO or chief architect will dictate the vast overarching direction and products to use, even when every single engineer is in agreement that it's a bad idea. As an engineer you'll be required to fill out detailed timesheets that while initially spun as a way to schedule things, is now used to enforce de facto 45 hour work weeks. Nobody else has to do them. The referral bonuses are pathetic compared to other software companies in the area. They don't value their employees enough, or treat them like people, but rather as interchangeable parts.