Pros
Depending on where you sit in the office the culture can be really nice. Management is very supportive of continuing education efforts and skill acquisition. The managers are available to help and they work really hard to foster a culture of mentorship and helpfulness. There is flex time, comp time and vacation buy up and the vacation time starts out at like 3.5 work weeks a year. You'll rarely work more than 40 hours in a week so balancing life and work is super easy.
Cons
There are no windows in the engineering area. There's no breakroom. There's no place to eat lunch aside from your desk or a conference table in front of all the managers offices. There's no sense of pride in the way the office is put together. It provides the bare minimum creature comforts (fridge, sink, microwave, cubicles, that's it) and was done for bare minimum cost and it shows. Employees frequently bring their own tools or do prototyping projects at home because management doesn't want to spend money to put in an actual prototyping space. IT doesn't give the engineers computers that are powerful enough to run the software they need to do their jobs. When they do, the computers are so bogged down with add-ons that they still don't work properly. There's no real formal training on how things work around the office. The benefits don't seem to be a priority for upper management. We were instructed to "shop around" for medical expenses before incurring them when they changed our medical plan to an HDHP from a PPO. A few offices still have a PPO option but it's location specific. The projects are hit or miss as to whether they'll be interesting or mind numbingly dull. You could get a really fast paced design project or you could get a project that goes on for years examining the grammatical minutia of technical manuals, it's a crapshoot. It's not really the company's fault but it's still a negative aspect of working here.