Pros
In general, there is a clean, organized environment with good people to work with. Good software programs are used to make the work responsibilities easier. There are many opportunities to learn new things to become a better employee, and good support from upper management to acquire the knowledge and skills for higher-level jobs. There are good company and department parties and activities. There's a pretty good work-life balance.
Cons
There's a constant push to shorten deadlines, which can make work too stressful at times. There's not enough recognition for a job being well done. Upper management can be a little too critical about one-time mess-ups. Upper management is not very open to new ideas for improvement. There's not much concern from upper management about work load for the lower-level employees. There have been various instances that a change in a certain process has caused more headache than improvement.